я уже просматривал этот пост: Python: building new list from existing by dropping every n-th element, но по какой-то причине не работает для меня:Python: как удалить/удалить каждый n-й элемент из списка?
Я попробовал этот путь:
def drop(mylist, n):
del mylist[0::n]
print(mylist)
Эта функция принимает список и n
. Затем он удаляет каждый n-й элемент, используя n-шаг из списка и результат печати.
Вот мой вызов функции:
drop([1,2,3,4],2)
Неправильный выход:
[2, 4]
вместо [1, 3]
Затем я попробовал вариант по ссылке выше:
def drop(mylist, n):
new_list = [item for index, item in enumerate(mylist) if index % n != 0]
print(new_list)
Опять же, функция звоните:
drop([1,2,3,4],2)
дает мне тот же неправильный результат: [2, 4]
вместо [1, 3]
Как правильно удалить/удалить/падение каждого п-й элемента из списка?
Ответы O K. Из того, что вы говорите, вы предполагаете, что нумерация индекса начинается с 1, но система начинает отсчет с 0. – naitoon