在元组列表中查找元素

2020-12-02 17:37:17 发布

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

我有一张a的单子

a= [(1,2),(1,4),(3,5),(5,7)]

我需要找到一个特定数字的所有元组。如果是1,那就是

result = [(1,2),(1,4)]

我该怎么做?

3条回答
网友
1楼 ·

实际上,有一种聪明的方法可以做到这一点,这对于任何大小为2的元组列表都很有用:您可以将列表转换为单个字典。

例如

test = [("hi", 1), ("there", 2)]
test = dict(test)
print test["hi"] # prints 1
网友
2楼 ·

阅读List Comprehensions

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

同时阅读generator functionsyield语句。

def filter_value( someList, value ):
    for x, y in someList:
        if x == value :
            yield x,y

result= list( filter_value( a, 1 ) )
网友
3楼 ·

如果只想让第一个数字匹配,可以这样做:

[item for item in a if item[0] == 1]

如果您只是在搜索其中包含1的元组:

[item for item in a if 1 in item]

相关问题