如果元组包含某个元素,则从列表中删除元组

A B*_*Man 1 python

我有一个元组列表(num,id):

l = [(1000, 1), (2000, 2), (5000, 3)]
Run Code Online (Sandbox Code Playgroud)

每个元组的第二个元素包含标识符.假设我要删除带有id的元组,2我该怎么做?

即我想要新列表: l = [(1000,1), (5000, 3)]

我试过l.remove(2)但它不起作用.

Cur*_*ore 8

您可以使用列表推导与过滤器来实现此目的.

l = [(1000, 1), (2000, 2), (5000, 3)]
m = [(val, key) for (val, key) in l if key != 2]
Run Code Online (Sandbox Code Playgroud)