如果满足某些条件,则从元组列表中删除元组

use*_*486 16 python tuples list python-2.7

我有一个看起来像这样的元组列表;

ListTuples = [(100, 'AAA'), (80, 'BBB'), (20, 'CCC'), (40, 'DDD')]
Run Code Online (Sandbox Code Playgroud)

我想在元组的第一个元素小于50时删除元组.OutputList将如下所示;

OutputList = [(100, 'AAA'), (80, 'BBB')]
Run Code Online (Sandbox Code Playgroud)

怎么能在python中完成?

非常感谢您的帮助.

ssh*_*124 40

你可以轻松地做到:

out_tup = [i for i in in_tup if i[0] >= 50]

[Out]: [(100, 'AAA'), (80, 'BBB')]
Run Code Online (Sandbox Code Playgroud)

这只是创建一个新的元组列表,只包含那些第一个元素大于或等于50的元组.结果相同,但方法不同.您可以接受有效的元组,而不是删除无效的元组.


Ale*_*ton 6

你也可以这样做:

>>> OutputList = filter(ListTuples, lambda x: x[0] >= 50)
>>> OutputList
[(100, 'AAA'), (80, 'BBB')]
Run Code Online (Sandbox Code Playgroud)