0
我正在處理一些謎團,並希望有一些清晰。我寫了一個腳本查找骰子的組合增加了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那裏。
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]之外的索引,但事實並非如此。我在其他地方找過類似的問題,但還沒有找到類似的問題。謝謝!
啊,這是有道理的!誰低估了你爲什麼這樣做?這是不是一種pythonic這樣做,或者是否有其他理由downvote它呢? –
我正要對downvote發表評論。有人誤解了這個問題......我也不明白。 –
@MasonGardner我沒有低調,但我沒有贊成的原因是,我認爲這個解釋有點誤導/不明顯。 'set'確實期望可迭代,但[tuples *是* iterables](https://docs.python.org/2/glossary.html#term-iterable) - 這個答案使它聽起來像是沒有。你得到'3'的原因是因爲這是'(3,3,3,3,3,3,3,3)'唯一的唯一值。 – elethan