gpt4 book ai didi

python - 如何生成包含几个随机整数的列表?

转载 作者:行者123 更新时间:2023-12-01 04:25:55 25 4
gpt4 key购买 nike

我对 Python 和 NetworkX 相当陌生。我需要创建一个类似于 Edgelist=[(0,1),(0,3),(1,0),(1,2),(1,4),(2,1),(2,5)] 的列表,这些元素代表边(链接)的起始和结束节点,而边又是网络的一部分。

我希望 Python 通过随机选择 (start,end) 的整数值来创建您在列表中看到的对,而不是手动设置它们。来自分配的值范围(即 0, 999 ),这些值代表节点 ID。然后,我想确保每个节点 ID 至少包含在一系列(开始,结束)值中一次(这意味着我的所有节点将连接到至少一个其他节点) .

我知道我可以使用 random.randint(0, 999)但我不知道如何将其“嵌套”到列表的创建中(也许是 for 循环?)。我希望我有一些代码可以向您展示,但这是我第一次尝试使用 NetworkX!

编辑

为了让您直观地了解我的意思,这里有两张图片。第一个是规则网络(又称格子),第二个是随机网络。第一个的边缘列表是手动创建的,以便重现国际象棋棋盘,而第二个显示的边缘列表是第一个边缘列表(手动)打乱的副本。 如您所见,节点保存在完全相同的位置。希望这能有所帮助。谢谢! enter image description here enter image description here

最佳答案

有一个类似的答案,但对于 - How to generate a fully connected subgraph from node list using python's networkx module 上的完整图表

就您而言,使用 zubinmehtaanswer :

import networkx
import itertools

def complete_graph_from_list(L, create_using=None):
G = networkx.empty_graph(len(L),create_using)
if len(L)>1:
if G.is_directed():
edges = itertools.permutations(L,2)
else:
edges = itertools.combinations(L,2)
G.add_edges_from(edges)
return G

您可以将图表构建为:

S = complete_graph_from_list(map(lambda x: str(x), range(0,1000)))
print S.edges()

关于python - 如何生成包含几个随机整数的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33134205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com