首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python -迭代元组列表的一个子集。

python -迭代元组列表的一个子集。
EN

Stack Overflow用户
提问于 2013-08-08 16:35:15
回答 7查看 8.1K关注 0票数 6

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

代码语言:javascript
运行
复制
l = [(4,1), (5,1), (3,2), (7,1), (6,0)]

我想迭代元组中的第二个元素为1的项目?

我可以使用循环中的一个if条件来完成它,但是我希望会有一种更多的pythonic方式来完成它?

谢谢

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-08-08 16:37:12

您可以使用列表理解:

代码语言:javascript
运行
复制
[ x for x in l if x[1] == 1 ]

您还可以使用生成器语法迭代元组:

代码语言:javascript
运行
复制
for tup in ( x for x in l if x[1] == 1 ):
    ...
票数 6
EN

Stack Overflow用户

发布于 2013-08-08 16:36:46

怎么样

代码语言:javascript
运行
复制
ones = [(x, y) for x, y in l if y == 1]

代码语言:javascript
运行
复制
ones = filter(lambda x: x[1] == 1, l)
票数 3
EN

Stack Overflow用户

发布于 2013-08-08 16:38:26

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

代码语言:javascript
运行
复制
for x, y in tuples:
    if y == 1:
        do_whatever_with(x)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18131367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档