我用 Python 写了这段代码:
from random import choice as rc
cards = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 11]
i = 0
player = [[9, 9]]
player[i] = [player[i][0]]
player.append(player[i])
print(player)
现在
player == [[9], [9]]
player[i].append(rc(cards))
print(player)
现在
player == [[9, 10], [9, 10]]
当我打字
player[i].append(rc(cards))
我实际上希望玩家成为
[[9, rc], [9]] #so in this example I would expect [[9, 10], [9]]
rc
是卡片中的随机数,但不知何故我得到了
[[9, rc], [9, rc]] #so in this example i get [[9, 10], [9, 10]]
有谁知道为什么,有人可以帮我改变第一个元素吗?
PS:这是我在这里的第一个问题,所以如果我做错了什么(与问题相关),请告诉我。
当你这样做时:
player.append(player[i])
player
的两个元素都是对同一个列表的引用。当您修改列表时,它会反映在两个元素中。您需要复印:
player.append(player[i][:])