Python - 迭代一个元组列表的子集

2024-04-26 10:08:38 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个元组列表,如下所示

l = [(4,1), (5,1), (3,2), (7,1), (6,0)]

我想遍历元组中第二个元素为1的项?

我可以用循环中的if条件来做,但我希望会有一个更好的方法来做它?

谢谢


Tags: 方法元素列表if条件元组
3条回答

只需使用if。很清楚很简单。

for x, y in tuples:
    if y == 1:
        do_whatever_with(x)

怎么样

ones = [(x, y) for x, y in l if y == 1]

或者

ones = filter(lambda x: x[1] == 1, l)

您可以使用列表理解:

[ x for x in l if x[1] == 1 ]

也可以使用生成器语法在元组上迭代:

for tup in ( x for x in l if x[1] == 1 ):
    ...

相关问题 更多 >