首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将变量(1)设置为等于在Python中变量(2)不变的另一个变量(2)?

如何将变量(1)设置为等于在Python中变量(2)不变的另一个变量(2)?
EN

Stack Overflow用户
提问于 2018-05-04 01:33:02
回答 1查看 649关注 0票数 0

我对蟒蛇还是比较陌生的,所以不要因为误解而把我钉死在十字架上。当变量hand被发送到另一个更新并返回它的函数时,我很难复制它的初始值。将variable(hand)的返回值作为复制的variable(hand2)的值,当我希望variable(hand2)是variable(hand)的初始值时

代码语言:javascript
复制
def play_game(word_list):
   word_list = load_words
   while True:
      answer = input('\nEnter \'n\' for a new random hand, \'r\' to play the last hand, or \'e\' to exit the game: ')
      if answer == 'n':
         hand = deal_hand(HAND_SIZE)   #Here i get a randomly generated hand
         hand2 = hand    #I want to save the randomly generated hand before it's updated
         play_hand(hand,word_list)   #This function updates the hand
      elif answer == 'r':
         play_hand(hand2,word_list)  #I want to play the un-updated hand but i get the updated hand instead

有没有办法使variable(hand2)等于variable(hand)的初始值?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-04 01:34:37

尝试使用copy.deepcopy()

代码语言:javascript
复制
import copy
hand2 = copy.deepcopy(hand)

正如copy的文档所解释的:

Python中的赋值语句不复制对象,它们在目标和对象之间创建绑定。对于可变或包含可变项的集合,有时需要一个副本,以便一个副本可以更改一个副本而不更改另一个副本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50165912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档