Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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 为什么不';使用G添加的t边。添加_边_from(),匹配G边()? 脚本 使用networkx 给定一个空图G 将名为edges的元组列表添加到G len(边)is 119 G.edges()与edges len(G.edges())是112,但我的预期是应该是119 节点组合不匹配边,但我的期望是它们应该匹配 代码 将networkx导入为nx 边=[(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(1,10),(1,11),(1,12),(1,13),(1,14),(1,15),(1,16),(1,17),(1,18),(1,19),(1,20),(1,21),(1,22),(1,23),(1,24),(1,25),(1,26),(1,27),(1,28),(1,29),(1,30),(1,31),(1,32),(1,33),(1,34),(1,35),(1,36),(1,37),(1,40),),(1, 41), (1, 42), (1, 43), (1, 44), (1, 45), (1, 46), (1, 47), (1, 48), (1, 49), (16, 18), (16, 35), (16, 36), (16, 48), (18, 16), (18, 24), (18, 35), (18, 36), (19, 5), (19, 8), (19, 11), (19, 13), (19, 15), (19, 17), (19, 20), (19, 21), (19, 24), (19, 30), (19, 31), (19, 35), (19, 36), (19, 37), (19, 48), (28, 1), (28, 5), (28, 7), (28, 8), (28, 11), (28, 14), (28, 15), (28, 17), (28, 20), (28, 21), (28, 24), (28, 25), (28, 27), (28, 29), (28, 30), (28, 31), (28, 35), (28, 36), (28, 37), (28, 44), (28, 48), (28, 49), (36, 5), (36, 24), (36, 35), (36, 37), (37, 24), (37, 35), (37, 36), (39, 1), (39, 24), (39, 33), (39, 35), (39, 36), (39, 38), (39, 40), (39, 41), (39, 45), (42, 1), (43, 24), (43, 29), (43, 35), (43, 36), (43, 37), (43, 47), (43, 48), (45, 1), (45, 39), (45, 41)] 打印(透镜(边缘)) >>> 119 #每个边元组中的唯一索引0值 打印(设置([x[0]用于边中的x])) >>> {1, 16, 18, 19, 28, 36, 37, 39, 42, 43, 45} #创建空图形 G=nx.Graph() #添加边 G.从(边)添加边 #获取图边 ge=G.边() #ge长度 印刷品(len(ge)) >>> 112 #每个ge元组中的唯一索引0值 打印(设置([x[0]表示ge中的x])) >>>{1, 5, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 29, 33, 35, 36, 37, 38, 39, 41, 43} #输出G的边 印刷品(通用电气) >>>EdgeView([(1,3)、(1,4)、(1,5)、(1,6)、(1,7)、(1,8)、(1,9)、(1,10)、(1,11)、(1,12)、(1,13)、(1,14)、(1,15)、(1,16)、(1,17)、(1,18)、(1,19)、(1,20)、(1,21)、(1,22)、(1,23)、(1,24)、(1,25)、(1,26)、(1,27)、(1,28)、(1,29)、(1,30)、(1,31)、(1,32)、(1,33)、(1,34)、(1,35)、(1,36)、(1,37)、(1,38)、(40))),(1, 41), (1, 42), (1, 43), (1, 44), (1, 45), (1, 46), (1, 47), (1, 48), (1, 49), (5, 19), (5, 28), (5, 36), (7, 28), (8, 19), (8, 28), (11, 19), (11, 28), (13, 19), (14, 28), (15, 19), (15, 28), (16, 18), (16, 35), (16, 36), (16, 48), (17, 19), (17, 28), (18, 24), (18, 35), (18, 36), (19, 20), (19, 21), (19, 24), (19, 30), (19, 31), (19, 35), (19, 36), (19, 37), (19, 48), (20, 28), (21, 28), (24, 28), (24, 36), (24, 37), (24, 39), (24, 43), (25, 28), (27, 28), (28, 29), (28, 30), (28, 31), (28, 35), (28, 36), (28, 37), (28, 44), (28, 48), (28, 49), (29, 43), (33, 39), (35, 36), (35, 37), (35, 39), (35, 43), (36, 37), (36, 39), (36, 43), (37, 43), (38, 39), (39, 40), (39, 41), (39, 45), (41, 45), (43, 47), (43, 48)]) 期望和问题 边缘和ge应具有相同的长度 为什么不呢 边和ge应具有相同的节点组合 为什么不呢 我的期望是否不正确?如果是,原因是什么 如果有的话,可以采取什么措施使ge和边缘匹配_Python 3.x_Networkx - Fatal编程技术网

Python 3.x 为什么不';使用G添加的t边。添加_边_from(),匹配G边()? 脚本 使用networkx 给定一个空图G 将名为edges的元组列表添加到G len(边)is 119 G.edges()与edges len(G.edges())是112,但我的预期是应该是119 节点组合不匹配边,但我的期望是它们应该匹配 代码 将networkx导入为nx 边=[(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(1,10),(1,11),(1,12),(1,13),(1,14),(1,15),(1,16),(1,17),(1,18),(1,19),(1,20),(1,21),(1,22),(1,23),(1,24),(1,25),(1,26),(1,27),(1,28),(1,29),(1,30),(1,31),(1,32),(1,33),(1,34),(1,35),(1,36),(1,37),(1,40),),(1, 41), (1, 42), (1, 43), (1, 44), (1, 45), (1, 46), (1, 47), (1, 48), (1, 49), (16, 18), (16, 35), (16, 36), (16, 48), (18, 16), (18, 24), (18, 35), (18, 36), (19, 5), (19, 8), (19, 11), (19, 13), (19, 15), (19, 17), (19, 20), (19, 21), (19, 24), (19, 30), (19, 31), (19, 35), (19, 36), (19, 37), (19, 48), (28, 1), (28, 5), (28, 7), (28, 8), (28, 11), (28, 14), (28, 15), (28, 17), (28, 20), (28, 21), (28, 24), (28, 25), (28, 27), (28, 29), (28, 30), (28, 31), (28, 35), (28, 36), (28, 37), (28, 44), (28, 48), (28, 49), (36, 5), (36, 24), (36, 35), (36, 37), (37, 24), (37, 35), (37, 36), (39, 1), (39, 24), (39, 33), (39, 35), (39, 36), (39, 38), (39, 40), (39, 41), (39, 45), (42, 1), (43, 24), (43, 29), (43, 35), (43, 36), (43, 37), (43, 47), (43, 48), (45, 1), (45, 39), (45, 41)] 打印(透镜(边缘)) >>> 119 #每个边元组中的唯一索引0值 打印(设置([x[0]用于边中的x])) >>> {1, 16, 18, 19, 28, 36, 37, 39, 42, 43, 45} #创建空图形 G=nx.Graph() #添加边 G.从(边)添加边 #获取图边 ge=G.边() #ge长度 印刷品(len(ge)) >>> 112 #每个ge元组中的唯一索引0值 打印(设置([x[0]表示ge中的x])) >>>{1, 5, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 29, 33, 35, 36, 37, 38, 39, 41, 43} #输出G的边 印刷品(通用电气) >>>EdgeView([(1,3)、(1,4)、(1,5)、(1,6)、(1,7)、(1,8)、(1,9)、(1,10)、(1,11)、(1,12)、(1,13)、(1,14)、(1,15)、(1,16)、(1,17)、(1,18)、(1,19)、(1,20)、(1,21)、(1,22)、(1,23)、(1,24)、(1,25)、(1,26)、(1,27)、(1,28)、(1,29)、(1,30)、(1,31)、(1,32)、(1,33)、(1,34)、(1,35)、(1,36)、(1,37)、(1,38)、(40))),(1, 41), (1, 42), (1, 43), (1, 44), (1, 45), (1, 46), (1, 47), (1, 48), (1, 49), (5, 19), (5, 28), (5, 36), (7, 28), (8, 19), (8, 28), (11, 19), (11, 28), (13, 19), (14, 28), (15, 19), (15, 28), (16, 18), (16, 35), (16, 36), (16, 48), (17, 19), (17, 28), (18, 24), (18, 35), (18, 36), (19, 20), (19, 21), (19, 24), (19, 30), (19, 31), (19, 35), (19, 36), (19, 37), (19, 48), (20, 28), (21, 28), (24, 28), (24, 36), (24, 37), (24, 39), (24, 43), (25, 28), (27, 28), (28, 29), (28, 30), (28, 31), (28, 35), (28, 36), (28, 37), (28, 44), (28, 48), (28, 49), (29, 43), (33, 39), (35, 36), (35, 37), (35, 39), (35, 43), (36, 37), (36, 39), (36, 43), (37, 43), (38, 39), (39, 40), (39, 41), (39, 45), (41, 45), (43, 47), (43, 48)]) 期望和问题 边缘和ge应具有相同的长度 为什么不呢 边和ge应具有相同的节点组合 为什么不呢 我的期望是否不正确?如果是,原因是什么 如果有的话,可以采取什么措施使ge和边缘匹配

Python 3.x 为什么不';使用G添加的t边。添加_边_from(),匹配G边()? 脚本 使用networkx 给定一个空图G 将名为edges的元组列表添加到G len(边)is 119 G.edges()与edges len(G.edges())是112,但我的预期是应该是119 节点组合不匹配边,但我的期望是它们应该匹配 代码 将networkx导入为nx 边=[(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(1,10),(1,11),(1,12),(1,13),(1,14),(1,15),(1,16),(1,17),(1,18),(1,19),(1,20),(1,21),(1,22),(1,23),(1,24),(1,25),(1,26),(1,27),(1,28),(1,29),(1,30),(1,31),(1,32),(1,33),(1,34),(1,35),(1,36),(1,37),(1,40),),(1, 41), (1, 42), (1, 43), (1, 44), (1, 45), (1, 46), (1, 47), (1, 48), (1, 49), (16, 18), (16, 35), (16, 36), (16, 48), (18, 16), (18, 24), (18, 35), (18, 36), (19, 5), (19, 8), (19, 11), (19, 13), (19, 15), (19, 17), (19, 20), (19, 21), (19, 24), (19, 30), (19, 31), (19, 35), (19, 36), (19, 37), (19, 48), (28, 1), (28, 5), (28, 7), (28, 8), (28, 11), (28, 14), (28, 15), (28, 17), (28, 20), (28, 21), (28, 24), (28, 25), (28, 27), (28, 29), (28, 30), (28, 31), (28, 35), (28, 36), (28, 37), (28, 44), (28, 48), (28, 49), (36, 5), (36, 24), (36, 35), (36, 37), (37, 24), (37, 35), (37, 36), (39, 1), (39, 24), (39, 33), (39, 35), (39, 36), (39, 38), (39, 40), (39, 41), (39, 45), (42, 1), (43, 24), (43, 29), (43, 35), (43, 36), (43, 37), (43, 47), (43, 48), (45, 1), (45, 39), (45, 41)] 打印(透镜(边缘)) >>> 119 #每个边元组中的唯一索引0值 打印(设置([x[0]用于边中的x])) >>> {1, 16, 18, 19, 28, 36, 37, 39, 42, 43, 45} #创建空图形 G=nx.Graph() #添加边 G.从(边)添加边 #获取图边 ge=G.边() #ge长度 印刷品(len(ge)) >>> 112 #每个ge元组中的唯一索引0值 打印(设置([x[0]表示ge中的x])) >>>{1, 5, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 29, 33, 35, 36, 37, 38, 39, 41, 43} #输出G的边 印刷品(通用电气) >>>EdgeView([(1,3)、(1,4)、(1,5)、(1,6)、(1,7)、(1,8)、(1,9)、(1,10)、(1,11)、(1,12)、(1,13)、(1,14)、(1,15)、(1,16)、(1,17)、(1,18)、(1,19)、(1,20)、(1,21)、(1,22)、(1,23)、(1,24)、(1,25)、(1,26)、(1,27)、(1,28)、(1,29)、(1,30)、(1,31)、(1,32)、(1,33)、(1,34)、(1,35)、(1,36)、(1,37)、(1,38)、(40))),(1, 41), (1, 42), (1, 43), (1, 44), (1, 45), (1, 46), (1, 47), (1, 48), (1, 49), (5, 19), (5, 28), (5, 36), (7, 28), (8, 19), (8, 28), (11, 19), (11, 28), (13, 19), (14, 28), (15, 19), (15, 28), (16, 18), (16, 35), (16, 36), (16, 48), (17, 19), (17, 28), (18, 24), (18, 35), (18, 36), (19, 20), (19, 21), (19, 24), (19, 30), (19, 31), (19, 35), (19, 36), (19, 37), (19, 48), (20, 28), (21, 28), (24, 28), (24, 36), (24, 37), (24, 39), (24, 43), (25, 28), (27, 28), (28, 29), (28, 30), (28, 31), (28, 35), (28, 36), (28, 37), (28, 44), (28, 48), (28, 49), (29, 43), (33, 39), (35, 36), (35, 37), (35, 39), (35, 43), (36, 37), (36, 39), (36, 43), (37, 43), (38, 39), (39, 40), (39, 41), (39, 45), (41, 45), (43, 47), (43, 48)]) 期望和问题 边缘和ge应具有相同的长度 为什么不呢 边和ge应具有相同的节点组合 为什么不呢 我的期望是否不正确?如果是,原因是什么 如果有的话,可以采取什么措施使ge和边缘匹配,python-3.x,networkx,Python 3.x,Networkx,这是因为您正在生成一个无向图,而边列表中的一些边只是按相反的顺序相同。您可以通过对子列表进行排序,并根据结果构建一个集来检查这一点: len(set(tuple(sorted(i)) for i in edges)) # 112 如您所见,节点的唯一组合数量与图形中的边数量相同 如果您生成了一个,您将得到预期的结果,因为在这种情况下,顺序很重要: G = nx.DiGraph() G.add_edges_from(edges) len(G.edges()) # 119

这是因为您正在生成一个无向图,而边列表中的一些边只是按相反的顺序相同。您可以通过对子列表进行排序,并根据结果构建一个
集来检查这一点:

len(set(tuple(sorted(i)) for i in edges))
# 112
如您所见,节点的唯一组合数量与图形中的边数量相同

如果您生成了一个,您将得到预期的结果,因为在这种情况下,顺序很重要:

G = nx.DiGraph()
G.add_edges_from(edges)

len(G.edges())
# 119