python - 如何将一个变量与另一个变量分开?
问题描述
我正在编写一个将地图从一个角落导航到另一个角落的函数,该地图采用列表列表的形式,0 是空格,1 是墙壁。像这样:
[
[0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0]
]
我的代码用 2 标记了它所在的空间,这样它就不会自行返回。代码多次遍历地图以尝试找到较短的路线,但这意味着每次通过时,都必须重置地图。然而,似乎每次随着地图的其他变量发生变化,地图被传递给的变量都会发生变化,所以我不能保留原始副本。这似乎只发生在它被传递给函数而不是在函数中设置时。我尝试了几种不同的方法,比如设置多个其他变量,通过在 for 循环中附加变量来传递每个列表,清除其中一个变量,但我似乎找不到问题,我从来没有这个以前的问题,我很困惑。有任何想法吗?
解决方案
你能发布一些代码吗?
而不是直接将原始地图传递给在地图中导航的函数。只需复制地图并将其存储在另一个变量中。将此新变量传递给在地图中导航的函数。
推荐阅读
- appium - 无法单击 Appium 中未显示的单元格中的元素 - IOS 使用 Java-Client
- pointers - Return 从没有强制转换的指针生成整数 [-Wint-conversion]
- php - PHP:根据其他数组中定义的范围和开始值和结束值将数组切割成碎片
- java - 树视图查看所有目录,例如“C:/”
- wpf - XAML 的 UI 调试工具
- go - 相当于gpg --sign in golang?
- spring-boot - Spring Boot 2.0 应用程序正在运行但无法在 Windows 机器上的端口 8080 上访问它
- c++ - c++ - 如何在c ++中检查连续片段中的数字是否可以被11整除
- java - 一个线程所做的更改不会反映在另一个线程中
- android - Glide 不接受 GifDrawable 作为目标参数