我的清单

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


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

    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


有没有更有效的方法来执行以上操作?

最佳答案

您可以使用列表理解:

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

关于python - 在条件中遍历元组的第二个参数并返回元组的第一个参数的有效方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43933476/

10-12 00:15