我正在使用 BFS 来计算图中的一些路径,并正在计算到每个节点的部分路径。这只是对实际问题的概述。
有问题的问题是,假设我有两个节点,它们之间有一个链接。它们都具有三个参数,建模为仅具有三个值的列表。
路径 uptil 节点 A 的内容在 listA 中,链接参数存储在 listC 中,并且将两者相加的结果放入作为节点 B 的一部分的 listB 中。
例如,listA = [0,0,1] 和 listC = [1,1,1]。我正在对列表进行成对添加,例如
listB[0] = listA[0] + listC[0]
listB[1] = listA[1] + listC[1]
listB[2] = listA[2] + listC[2]
所以,在操作结束时,我应该有 listB = [1,1,2]。据我所知, listA 无论如何都不应该发生突变。但是当我执行此操作时,listA 和 listB 最终具有相同的值,即使 listA 不在任何操作的 LHS 上。我在这里缺少任何 Python-y 概念吗?我认为列表的原始形式是不可变的。