Python 如何根据元组中的值删除列表中的元组?

Python 如何根据元组中的值删除列表中的元组?,python,list,tuples,Python,List,Tuples,我有一个元组列表。我想删除列表中的所有项,其中元组中的第2项和第3项是香蕉和1。for循环不起作用,因为它在遍历列表时正在从列表中删除项。不知道该怎么办 my_table=[苹果、香蕉、1、梨、香蕉、1、葡萄、苹果、2、苹果、梨、2、苹果、香蕉、2、葡萄、香蕉、2] 改为使用列表: my_table = [elem for elem in my_table if elem[1:] != ('bananas', 1)] 这将删除视为筛选作业;通过创建新列表保留不应删除的所有内容。使用列表理解:

我有一个元组列表。我想删除列表中的所有项,其中元组中的第2项和第3项是香蕉和1。for循环不起作用,因为它在遍历列表时正在从列表中删除项。不知道该怎么办

my_table=[苹果、香蕉、1、梨、香蕉、1、葡萄、苹果、2、苹果、梨、2、苹果、香蕉、2、葡萄、香蕉、2]


改为使用列表:

my_table = [elem for elem in my_table if elem[1:] != ('bananas', 1)]

这将删除视为筛选作业;通过创建新列表保留不应删除的所有内容。

使用列表理解:

my_table = [elem for elem in my_table if elem[1:] != ('bananas', 1)]
这将删除视为筛选作业;通过创建新列表保留所有不应删除的内容。

您还可以执行以下操作:

filterted_table=filter(lambda t: t[1:]!=('bananas', 1),my_table)
您还可以执行以下操作:

filterted_table=filter(lambda t: t[1:]!=('bananas', 1),my_table)

应该注意的是,这会创建一个新的列表,这是正确的、符合Python的方法。原始列表并没有发生变化。应该注意的是,这会创建一个新的列表,这是正确的、类似于Python的方法。原始列表没有变化。