我正在使用pygame
制作纸牌游戏,我创建了一个变量Deck
,然后我制作了另一个变量DeckRep
,以存储Deck
的样子卡片被取出之前。在代码的开头,我运行DeckRep = Deck
,然后在此之后再没有这样做。
然而,在代码运行之后,卡片已从Deck中取出,2个变量仍然相同。
当卡片从Deck中移除时,它们也被从DeckRep
移除,我已经使用print-commands测试它不会多次运行DeckRep = Deck
。
请帮帮我
答案 0 :(得分:3)
与其他语言不同,在Python =
中不会复制。您最终会在同一个对象中使用两个名称,而另一个名称的更改将显示在另一个对象中。
要制作副本,您需要明确它。对于列表,最简单的复制方法是使用切片:
DeckRep=Deck[:]