Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在打印Networkx图形的边属性时对边的顺序进行排序_Python 3.x_Networkx - Fatal编程技术网

Python 3.x 如何在打印Networkx图形的边属性时对边的顺序进行排序

Python 3.x 如何在打印Networkx图形的边属性时对边的顺序进行排序,python-3.x,networkx,Python 3.x,Networkx,我正在尝试以排序方式打印Networkx图形的边属性 比如说, print(sorted(G.edges(data=True)) 将显示一个有序的dict [(3, 7, OrderedDict([('w1', 9.62), ('w2', 37.2)])), (3, 8, OrderedDict([('w1', 9.42), ('w2', 49.6)]))] 同样,我想打印单个属性(仅w1或w2,data=True同时打印)作为排序输出 例如,当我尝试 print(sorted(nx.get

我正在尝试以排序方式打印Networkx图形的边属性

比如说,

print(sorted(G.edges(data=True))
将显示一个有序的dict

[(3, 7, OrderedDict([('w1', 9.62), ('w2', 37.2)])), (3, 8, OrderedDict([('w1', 9.42), ('w2', 49.6)]))]
同样,我想打印单个属性(仅
w1
w2
,data=True同时打印)作为排序输出

例如,当我尝试

print(sorted(nx.get_edge_attributes(G, 'w1').values()))
不起作用


任何关于如何显示单个属性的排序输出的建议都非常有用。

nx.get\u edge\u attributes
将只返回实际属性。可能最简单的方法是只保留
G.edges(data=True)
结果中的一个属性:

G = nx.Graph()
G.add_edge(3, 8, w1= 9.62, w2=37.2)
G.add_edge(3, 7, w1= 9.42, w2=49.6)

attr = 'w1'
sorted(((*edge, (attr, d[attr])) for *edge, d in G.edges(data=True)))
# [(3, 7, ('w1', 9.42)), (3, 8, ('w1', 9.62))]