首页 > 解决方案 > 为什么 random.shuffle() 改变指向变量?

问题描述

我有这段代码

def find():
temp = liked
shuffle(temp)
if temp == liked:
    return True

通过调试,我发现在 shuffle(temp) 之后,喜欢的变量也发生了变化。为什么会发生?

标签: python

解决方案


temp = liked是一个任务。它指templiked是,当你说的时候shuffle(temp)temp只是指shuffle()liked

任务: temp = liked

复制: temp = liked.copy()

你会在这里找到一个关于它的深入对话:Python 是否在分配时复制对象?


推荐阅读