0 / 0 / 0
Регистрация: 12.06.2023
Сообщений: 1

Удаление смежных чисел

12.06.2023, 12:10. Показов 2745. Ответов 5

Студворк — интернет-сервис помощи студентам
Реализовать функцию, которая принимает на вход список чисел, а возвращает модифицированную версию этого списка, в которой удалены повторы соседних элементов. Например, если передать функции на вход список [5, 5, 1, 5, 5, 7, 7, 7], то она должна вернуть [5, 1, 5, 7].

Я написал следующий код, но он выдает ошибку IndexError: list index out of range
Пытался исправить условиями, но не получалось.

Python
1
2
3
4
5
6
7
8
9
10
11
def remove_adjacent_solution(l): 
    if len(l) == 0: 
        return []
    elif len(l) == 1:
        return l
    m = len(l)
    for i in range (1, m):
        while l[i]==l[i-1] :
            del l[i-1]
            m = len(l)
    return l
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.06.2023, 12:10
Ответы с готовыми решениями:

Word Удаление смежных дубликатов строк
Добрый день! Помогите с кодом, плиз! В Word есть табличка в 1 столбец. Нужно удалить дубликаты строк, но только в том случае, если они...

Найти в массиве тройку смежных чисел с максимальной суммой.
считает только сумму первых трех элементов, а должен считать макс.сумму трех смежных элементов. ...

Найти в массиве тройку смежных чисел с максимальной суммой
Исходные данные: массив чисел Х размером n. Условие: Ввести исходный массив с клавиатуры, вывести его на экран в виде строки....

5
 Аватар для Semen-Semenich
5228 / 3474 / 1174
Регистрация: 21.03.2016
Сообщений: 8,301
12.06.2023, 12:18
нельзя удалять элементы списка в цикле начиная с начала. функция range возврашвет индексы списка от 0 до его длины. когда вы удаляете элемент длина списка укорачивается и индексы сдвигаются но в range это не изменяется в результате у вас и ошибка выхода за пределы индекса. и результат неверный будет. удаляйте с конца
Python
1
for i in reversed(range (1, m)):
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.06.2023, 12:24
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Python
1
for i in range(m - 1, -1, -1):
1
34 / 20 / 9
Регистрация: 29.08.2015
Сообщений: 87
12.06.2023, 12:29
Python
1
2
3
4
5
6
7
8
9
10
11
12
lst = [5, 5, 1, 5, 5, 7, 7, 7]
 
def ras(lst):
    i = 0
    while i<len(lst)-1:
        if lst[i]==lst[i+1]:
            lst.pop(i)
            i -= 1
        i += 1
    return lst
    
print (ras(lst))
1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
12.06.2023, 12:44
Yaroslav-, ivitaliy, Почему ваши функции меняют исходный список?
Цитата Сообщение от Yaroslav- Посмотреть сообщение
Реализовать функцию, которая принимает на вход список чисел, а возвращает модифицированную версию этого списка,
В ТЗ написано вернуть модифицированную версию списка. Там конечно явно не указано, что оригинальный список нельзя "ломать", но все же....
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
lst = [5, 5, 1, 5, 5, 7, 7, 7]
 
 
def remove_adjacent_solution(data):
    result = []
    current = None
    for i in data:
        if i != current:
            result.append(i)
            current = i
    return result
 
 
print(remove_adjacent_solution(lst))
1
34 / 20 / 9
Регистрация: 29.08.2015
Сообщений: 87
12.06.2023, 13:14
Чем удаление из исходного списка не превращает его в "модифицированную версию этого списка"? Так можно сказать, что и про создание нового списка ничего не говорилось, мы модифицировали существующий.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.06.2023, 13:14
Помогаю со студенческими работами здесь

KP580. найти наибольшее число, полученное при сложении смежных чисел,заданных в массиве
Написать программу на языке assembler для процессора КР580, найти наибольшее число, полученное при сложении смежных чисел,заданных в...

Не могу сложить пары смежных чисел в новом массиве, не знаю как записать и укажите на ошибки в коде
using System; namespace лаб6 { class Program { static double GetAvg(int a) { double sum =...

Удаление из списка натуральных чисел x всех чисел, кратных k
Помогите реализовать функцию (DEL1 k x), которая удаляет из списка натуральных чисел x все числа, кратные k.

Замена чисел в строке словами и удаление чисел из строки
Помогите,пожалуйста, переделать программу, никак не разберусь с ассмеблером((. Приведенный код вставляет слово number перед каждым...

Подсчет смежных элементов
Вводится кол-во строк и столбцов с клавиатуры, затем они заполняются символами '#'. Затем некоторые элементы заменяются на случайное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru