Удаление элементов из списка при сохранении порядка в python3 - PullRequest
0 голосов
/ 15 ноября 2018

Как я могу удалить элементы из списка, но сохранить его первоначальный порядок? Использование remove(), похоже, испортило порядок.

Скажем, например, такой список:

['book', 'house', 'tree', 'ambulance', 'window', 'Dragonball', 'alfa']

Как я могу удалить слова "книга" и "дерево", не испортив порядок?

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Вы, вероятно, просматриваете свой список, пытаясь выяснить, нужно ли вам что-то удалить - вы никогда повторяете список, из которого хотите вставить / удалить - его рецепт за беду.

Вместо этого создайте новый список:

a = ['book', 'house', 'tree', 'ambulance', 'window', 'Dragonball', 'alfa']
b = [e for e in a if e not in {"book","tree"}]

print(b)

Выход:

['house', 'ambulance', 'window', 'Dragonball', 'alfa']
0 голосов
/ 15 ноября 2018

Вы можете просто использовать remove (), так как это не меняет порядок списка.

Часто лучше просто создать новый объект, например:

item_list = ['book', 'house', 'tree', 'ambulance', 'window', 'Dragonball', 'alfa']
item_list = [e for e in item_list if e not in ('book', 'alfa')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...