weixin_53010011 2021-12-14 14:12 采纳率: 100%
浏览 46
已结题

同一个函数,变量是x就报错,把x具体的值输入就不报错,如何解决?(语言-python)

定义了两个函数,visited_to_route()和calculate_cost()。第一个函数的输出是第二个函数的输入。

第一个函数能正常运行,返回值为列表嵌套列表。
如果这样调用:
ant_routes = visited_to_route()
calculate_cost(ant_routes)
会报错:IndexError: list index out of range

但是如果把ant_routes的值复制下来,这样调用:
ant_routes=[[0, 15.0, 8.0, 6.0, 26.0, 36.0, 13.0, 2.0, 11.0, 41.0, 43.0, 0].....[0, 34.0, 10.0, 12.0, 5.0, 7.0, 4.0, 47.0, 27.0, 24.0, 0]]
#ant_routes = visited_to_route()
calculate_cost(ant_routes)
就正常运行了!

请问这是什么原因呀?既然复制ant_routes能正常运行第二个程序,就应该没有IndexError呀

  • 写回答

2条回答 默认 最新

  • Better.C 2021-12-14 15:16
    关注

    visited_to_route()函数中误删了某个变量的值,所以后续计算报错,注意python中的深浅拷贝机制。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月23日
  • 已采纳回答 12月15日
  • 创建了问题 12月14日

悬赏问题

  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题