如何在集合中找到某些特定元素?

时间:2018-02-23 17:27:04

标签: python set

给定一些元组(x,y):

set([(1,2),(3,4),(3,2),(1,4)])

如何在集合中找到具有属性(1,z)的每个元组?

在本例中,边(1,2),(1,4)。

编辑:是否有其他数据结构可以支持这样的请求?

1 个答案:

答案 0 :(得分:2)

使用理解(集合或列表):

In [145]: st = set([(1,2),(3,4),(3,2),(1,4)])

In [146]: [(i, j) for i, j in st if i == 1]
Out[146]: [(1, 2), (1, 4)]

In [147]: {(i, j) for i, j in st if i == 1}
Out[147]: {(1, 2), (1, 4)}

或者,如果您不希望将结果放在容器中,即您只想循环结果等,则可以使用函数方法使用内置的filter函数:< / p>

result = filter(lambda x: x[0] == 1, st)