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

时间:2017-12-17 04:34:43

标签: python list

我有这个列表清单:

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

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

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

    NewList = [[A,1],[C,3],[D,4],...]

3 个答案:

答案 0 :(得分: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]]

答案 1 :(得分: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]]

答案 2 :(得分: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]]