我遇到的情况是,在我不知情的情况下,我的价值观会发生变化。
def randomizer(task):
maintask = task
x = 0
k = 1
while 1:
x += 1
if x > len(task):
break
if k == 0:
task.pop(x)
x -= 1
k = 1
else:
k = 0
#task.reverse()
#task = task + maintask
print("task ----- ", task)
print("maintask ----- ", maintask)
上面给出的是我的python脚本。我的期望是“任务”与“maintask”不同。但两者都给了我相同的价值。下面给出的是输出。
任务----- [(9,'CR12345'),(8,'CR12346'),(3,'CR63943'),(4,'IM46667'),(2,'这是SE COND')]
maintask ----- [(9,'CR12345'),(8,'CR12346'),(3,'CR63943'),(4,'IM46667'),(2,'这是SE COND')]
我认为这是因为“=”基于通过引用传递而工作。我需要传递更改父变量后不应更改的值(此处为“task”)