Систематическое удаление каждой N-й записи из списка - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь удалить каждое n -ое число из списка в цикле for, но что-то пошло не так

Существует переменная, которая определяет, какие числа удалить, если яУ меня был список от 1 до 10, и я попытался удалить каждую вторую цифру, а затем третий

Я должен получить 1, 3, 5, 7, 9 после удаления каждой второй цифры и 1, 3, 7,9 после удаления каждого третьего (только одно число)

for i in range(repeatAmount):
    multiple = int(input())
    del numberVar[1::multiple]
    print(numberVar)

Этот код возвращает [1, 3, 5, 7, 9] после удаления каждого второго числа, что является правильным

Но тогдавозвращает [1, 5, 7] после удаления каждого третьего числа

Понятия не имею, что происходит

1 Ответ

0 голосов
/ 01 ноября 2019

Изменить эту строку

del numberVar[1::multiple]

на эту строку:

del numberVar[multiple-1::multiple]

Вывод: [1, 3, 7, 9]

В вашем цикле вы указали индекс # 1 оба раза как начальный индекс, поэтому вы удалили первый и четвертый элементы (3 и 9) во второй итерации цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...