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

Python 如何删除列表列表中一个列表的所有元素?,python,list,Python,List,我有以下清单: List = [[A,1],[B,2],[C,3],[D,4],...] 当用户输入一个元素时,如何删除一个列表中的所有元素 例如,如果用户输入BI想要删除以“B”开头的列表,将输出保留为: NewList = [[A,1],[C,3],[D,4],...] 您可以筛选列表的内容: l = [['A',1],['B',2],['C',3],['D',4]] to_remove = 'B' new_l = [[a, b] for a, b in l if a !

我有以下清单:

    List = [[A,1],[B,2],[C,3],[D,4],...]
当用户输入一个元素时,如何删除一个列表中的所有元素

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

    NewList = [[A,1],[C,3],[D,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]]
你可以直接说出你不想要的:

>>> 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]]

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

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]]