Python 如何获取元组列表的元素

Python 如何获取元组列表的元素,python,Python,我有一组节点 nodes = ["uno","dos","tres","cuatro","cinco","seis"] 还有一组边 edges = [("uno", "dos"), ("uno", "tres"), ("dos", "tres"), ("dos", "cuatro"), ("tres", "cuatro"), ("tres", "cinco"), ("cuatro", "cinco"), ("cu

我有一组节点

nodes = ["uno","dos","tres","cuatro","cinco","seis"]
还有一组边

edges = [("uno", "dos"),
     ("uno", "tres"), 
     ("dos", "tres"), 
     ("dos", "cuatro"), 
     ("tres", "cuatro"), 
     ("tres", "cinco"), 
     ("cuatro", "cinco"), 
     ("cuatro", "seis"), 
     ("cinco", "seis")]
我已经定义了这些边的倒数

inverses =[(j,i) for (i,j) in edges]
现在我有了一组弧

arcs = edges + inverses
我的问题是,我想得到弧集合中的所有元素,它们都有一个确定的第一个元素。就是

ArcsOut[i in nodes] = [(i,j) for (i,j) in arcs for i in nodes for j in nodes].
我想得到这样的东西。如果我要获得所有第一个组件为“uno”的弧,我希望:

ArcsOut["uno"]= [("uno", "dos"),("uno", "tres"),("dos", "uno"),("tres", "uno")] 
但我不知道我怎么能点这个。
提前谢谢

您可以使用列表来完成此操作。很好的一点是,您可以将元组解包与条件一起使用,使其非常简短、切中要害,同时具有可读性

arc_out = {node: [(i, j) for i, j in arcs if i == node] for node in nodes]
相反,如果要获取所有与特定节点名匹配的边,可以这样做

[edge for edge in arcs if 'uno' in edge]

您可以使用列表来完成此操作。很好的一点是,您可以将元组解包与条件一起使用,使其非常简短、切中要害,同时具有可读性

arc_out = {node: [(i, j) for i, j in arcs if i == node] for node in nodes]
相反,如果要获取所有与特定节点名匹配的边,可以这样做

[edge for edge in arcs if 'uno' in edge]

使用以下语法创建字典:

ArcsOut = dict(((i,[(k,l) for k,l in arcs if k == i]) for (i,j) in arcs))
然后arcout['unos']=所需输出

/*编辑*/

性能考虑使用A:


使用以下语法创建字典:

ArcsOut = dict(((i,[(k,l) for k,l in arcs if k == i]) for (i,j) in arcs))
然后arcout['unos']=所需输出

/*编辑*/

性能考虑使用A:


您可以发布您的预期输出吗?变量
stations
是什么?@Aaron,抱歉,有错误您可以发布您的预期输出吗?变量
stations
是什么?@Aaron,抱歉,有错误,但我想根据节点“I”获取一个通用有效表达式以上两个都是有效的,并且可以很容易地对任何“i”进行推广。如何推广?如果我写这个ArcsOut[I in nodes]=[(I,j)for(I,j)in arcs for I in nodes for j in nodes]我会得到一个错误代码现在我明白你的意思了。我还加了一篇短文。它也会这样做,但是对于所有节点,请将其放在一个目录中,谢谢!这就是我一直在寻找的!但是我想根据节点“I”得到一个通用的有效表达式,上面的表达式都是有效的,并且可以很容易地对任何“I”进行推广。它如何推广?如果我写这个ArcsOut[I in nodes]=[(I,j)for(I,j)in arcs for I in nodes for j in nodes]我会得到一个错误代码现在我明白你的意思了。我还加了一篇短文。它也会这样做,但是对于所有节点,请将其放在一个目录中,谢谢!这就是我一直在寻找的!