给定一些元组(x,y):
set([(1,2),(3,4),(3,2),(1,4)])
如何在集合中找到具有属性(1,z)的每个元组?
在本例中,边(1,2),(1,4)。
编辑:是否有其他数据结构可以支持这样的请求?
答案 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)