gpt4 book ai didi

python - 函数不返回切换列表

转载 作者:行者123 更新时间:2023-12-01 02:25:59 26 4
gpt4 key购买 nike

我正在研究模拟退火的旅行推销员问题,需要编写一个函数来交换列表中的两个元素(列表包含推销员前往的目的地,我假设他从同一个城市出发他返回)。我已包含以下代码:

def new_walk(old_walk):
n1 = rand.randint(1, len(old_walk)-2)
n2 = rand.randint(1, len(old_walk)-2)
walk = old_walk
walk[n1], walk[n2] = walk[n2], walk[n1]
return walk

n1 和 n2 是两个整数,对应于我想要切换的两个随机列表索引,这是 randint 最大值中 len(old_cycle)-2 背后的推理> 功能是我不想将最后一点与任何其他点交换。如果我在函数定义中包含 print 语句,它会给出正确的结果,old_cycle 的两个元素交换。但是,一旦我将其返回到主函数,它就会返回 old_cycle 列表。任何帮助将不胜感激!

最佳答案

我尝试使用我的 python shell,其版本为 3.5.2,但结果显示您的代码运行良好。纯粹基于python编程,我强烈建议你使用walk = old_walk[:]复制列表。

关于python - 函数不返回切换列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47399777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com