【发布时间】:2014-04-05 11:29:36
【问题描述】:
我正在尝试在 python 中模拟一个社交网络,接下来是网络的初始构建。这完全符合我的要求,因为它将以 25% 的机会随机连接网络中的两个人,如果它将第一个人与第二个人联系起来,它将始终将第二个人与第一个人联系起来(反之亦然)然后我可以打印网络以查看谁与谁连接。
我遇到的问题是我需要能够添加任意数量的人,但这涉及将列表放入列表中,我不知道如何更改项目的值列表中的列表,而不首先定义每个列表。这是代码
from random import randint
network = []
person0 = range(0,2)
person1 = range(0,2)
for x in range(len(person0)):
for randint(0,100)<25 and person0[x]!=0:
person0[x]="connected"
else:
person0[x]=0
for y in range(len(person1)):
if randint(0,100)<25 and person1[y]!=1:
person1[y]="connected"
else:
person1[y]=0
if person0[1]=="connected":
person1[0]="connected"
if person1[0]=="connected":
person0[1]="connected"
network.append(person0)
network.append(person1)
print network
这会返回 [[0, 'connected'],['connected', 0]] 或 [[0, 0],[0, 0]],两者都可以接受,但我不想要手动添加person2、person3、person4等,手动测试每个比较,手动追加。我该怎么做?
【问题讨论】: