如何删除列表列表中一个列表的所有元素?

问题描述 投票:2回答:3

我有这个列表清单:

    List = [[A,1],[B,2],[C,3],[D,4],...]

如何在用户输入其中一个列表时删除一个列表的所有元素?

例如,如果用户输入B,我想删除以'B'开头的列表,将输出保留为:

    NewList = [[A,1],[C,3],[D,4],...]
python list
3个回答
4
投票

您可以过滤列表的内容:

l = [['A',1],['B',2],['C',3],['D',4]]
to_remove = 'B'
new_l = [[a, b] for a, b in l if a != to_remove]

输出:

[['A', 1], ['C', 3], ['D', 4]]

2
投票

你可以只是filter()你不想要的东西:

>>> lst = [['A',1],['B',2],['C',3],['D',4]]
>>> to_remove = 'B'
>>> new_lst = list(filter(lambda x: x[0] != to_remove, lst))
>>> print(new_lst)
[['A', 1], ['C', 3], ['D', 4]]

0
投票

您应该使用带有一个参数的函数,即list:

List = [['A', 1], ['B', 2], ['C', 3], ['D', 4]]

def remove_(list_1):
    word=input("Enter word ").upper()
    for index,value in enumerate(List):
        if word in value:
            del list_1[index]

    return list_1

print(remove_(List))

输出:

Enter word B
[['A', 1], ['C', 3], ['D', 4]]
© www.soinside.com 2019 - 2024. All rights reserved.