假设我有一个元组的列表,如下所示
l = [(4,1), (5,1), (3,2), (7,1), (6,0)]我想迭代元组中的第二个元素为1的项目?
我可以使用循环中的一个if条件来完成它,但是我希望会有一种更多的pythonic方式来完成它?
谢谢
发布于 2013-08-08 16:37:12
您可以使用列表理解:
[ x for x in l if x[1] == 1 ]您还可以使用生成器语法迭代元组:
for tup in ( x for x in l if x[1] == 1 ):
...发布于 2013-08-08 16:36:46
怎么样
ones = [(x, y) for x, y in l if y == 1]或
ones = filter(lambda x: x[1] == 1, l)发布于 2013-08-08 16:38:26
只需使用if即可。很清楚很简单。
for x, y in tuples:
if y == 1:
do_whatever_with(x)https://stackoverflow.com/questions/18131367
复制相似问题