我有这个列表清单:
List = [[A,1],[B,2],[C,3],[D,4],...]
当用户输入其中一个列表时,如何删除一个列表的所有元素?
例如,如果用户输入B
,我想删除以' B'开头的列表。将输出保留为:
NewList = [[A,1],[C,3],[D,4],...]
答案 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]]