循环通过元组的第二个参数为条件并返回元组的第一个参数的有效方法

时间:2017-05-12 08:55:54

标签: python loops tuples

my_list

[('cat', 1), ('dog', 2), ('cat', 2)]

我想循环遍历my_list中元组的第二个参数(整数),看它们中的任何一个等于说value = 1,如果是,则返回包含value = 1的元组的第一个参数。 / p>

    from operator import itemgetter
    for a in map(itemgetter(1), my_list):
        if a == 1:
            idx = map(itemgetter(1),my_list).index(a)  
            print map(itemgetter(0),my_list)[idx]
            #cat

是否有更有效的方法来完成上述工作?

1 个答案:

答案 0 :(得分:3)

您可以使用列表理解:

result = [ x for x,y in my_list if y==1 ]