【发布时间】:2016-10-28 16:04:09
【问题描述】:
我正在处理一些谜团,并希望得到一些澄清。我编写了一个脚本,用于查找添加到 24 的骰子组合,如下所示:
start=[3,3,3,3,3,3,3,3]
outcomes=set(tuple(start)) #Use a set to ensure uniqueness
index_list=np.random.randint(0,8,1000)
#This little snippet adds one and subtracts one randomly, keeping total at 24
for i in xrange(0,500):
upper=index_list[i]
downer=index_list[i+20]
if start[upper]!=6 and start[downer]!=1:
start[upper]=start[upper]+1
start[downer]=start[downer]-1
outcomes.add(tuple(start))
print outcomes
我遇到的是,当我查看结果时,里面只有一个 3 类型的“int”。
set([(4, 4, 4, 3, 2, 2, 2, 3), 3, (2, 5, 4, 3, 1, 4, 2, 3), (4, 4, 4, 2, 3, 1, 3, 3),(4, 2, 5, 2, 3, 4, 1, 3)])
虽然我当然可以删除它,但我只是好奇它是如何进入那里的?我最初的猜测是索引列表可能会生成 [0-7] 之外的索引,但事实并非如此。我在其他地方寻找过类似的问题,但还没有找到类似的问题。谢谢!
【问题讨论】:
标签: python-2.7 set tuples add