Как я могу удалить все экземпляры элемента из списка в Python? [дубликат]

20
задан Martin Thoma 9 November 2014 в 16:40
поделиться

6 ответов

Если вы хотите изменить список на месте,

a[:] = [x for x in a if x != [1, 1]]
40
ответ дан 29 November 2019 в 22:32
поделиться

Используйте список понимания:

[x for x in a if x != [1, 1]]
20
ответ дан 29 November 2019 в 22:32
поделиться
def remAll(L, item):
    answer = []
    for i in L:
        if i!=item:
            answer.append(i)
    return answer
6
ответ дан 29 November 2019 в 22:32
поделиться
filter([1,1].__ne__,a)
1
ответ дан 29 November 2019 в 22:32
поделиться
new_list = filter(lambda x: x != [1,1], a)

Или как функция:

def remove_all(element, list):
    return filter(lambda x: x != element, list)

a = remove([1,1],a)

или более общие:

def remove_all(elements, list):
    return filter(lambda x: x not in elements, list)

a = remove(([1,1],),a)
3
ответ дан 29 November 2019 в 22:32
поделиться

Google находит Удаляет все элементы в списке , который включает такие драгоценные камни, как

from functools import partial
from operator import ne
a = filter(partial(ne, [1, 1]), a)
7
ответ дан 29 November 2019 в 22:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: