python - 为什么 random.shuffle() 改变指向变量?
问题描述
我有这段代码
def find():
temp = liked
shuffle(temp)
if temp == liked:
return True
通过调试,我发现在 shuffle(temp) 之后,喜欢的变量也发生了变化。为什么会发生?
解决方案
temp = liked
是一个任务。它指temp
的liked
是,当你说的时候shuffle(temp)
,temp
只是指shuffle()
回liked
。
任务: temp = liked
复制: temp = liked.copy()
你会在这里找到一个关于它的深入对话:Python 是否在分配时复制对象?
推荐阅读
- jolt - 颠簸转换以检索键作为值
- c++ - 如何声明包含特定大小数组的多集?
- python - 如何过滤Django中相关对象的相关对象?
- json - 数据传输到 Big Query 错误“读取数据时出错,错误消息:JSON 表遇到太多错误,放弃。行:1;错误:1”
- jenkins - Jenkins 未能选择有效的内部版本号
- excel - Excel中的记分牌/条件排名?
- sql - 在 Redshift 中高效地连接和聚合大量事实表
- git - Git Rebase 与 BitBucket
- javascript - 正则表达式:15 个整数,最多两位小数,不包括 0
- html - 无法与弹性盒分离