首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何生成一对随机整数的列表?

如何生成一对随机整数的列表?
EN

Stack Overflow用户
提问于 2015-10-14 19:42:13
回答 6查看 3.1K关注 0票数 1

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

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

我知道我可以使用random.randint(0, 999),但我不知道如何将它“嵌套”到创建列表中(可能是for循环?)。我希望我有一些代码给你看,但这是我第一次尝试使用NetworkX!

编辑

为了让你对我的意思有一个直观的理解,这里有两个图像。第一个是正则网络(又称格),第二个是随机网络。第一个边列表是手动创建的,以便复制国际象棋表,而第二个边列表显示的是第一个棋盘的(手动)洗牌对应项。正如您所看到的,节点保持在完全相同的位置。希望这能帮助更多的人。谢谢!

EN

Stack Overflow用户

发布于 2015-10-15 02:48:37

下面是一个networkx命令,它将创建一个图,以便每个节点都有一个边缘:

代码语言:javascript
复制
import networkx as nx
G = nx.configuration_model([1]*1000)

如果你仔细观察它的核心,它会回答你的问题--每个节点都会出现在中,正好是的一个边缘。

代码语言:javascript
复制
import random
mylist = random.suffle(range(start,end))
edgelist = []
while mylist:
    edgelist.append((mylist.pop(),mylist.pop()))

在进行弹出之前,您应该保证mylist具有偶数长度。

票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33134205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档