【发布时间】:2020-08-09 23:41:42
【问题描述】:
我正在尝试使用函数更改字典列表中的特定条目。但是,我不能在不更改所有条目的情况下更改一个条目。我已经尝试了我能想到的 dict() 和 .copy() 的所有组合,但我无法让它工作。我该如何解决这个问题?
a = dict(population[10][2])
b = a.copy()
print(a == b)
print(route_length(a))
print(route_length(b))
是的
(3, 0, 1, 1, 1, 1, 2, 2, 0, 0, 2, 0, 5, 4, 0, 1, 0, 0)
(3, 0, 1, 1, 1, 1, 2, 2, 0, 0, 2, 0, 5, 4, 0, 1, 0, 0)
c = dict(mutate(a))
print(route_length(c))
(2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 3, 0, 6, 4, 0, 2, 0, 0)
d = dict(mutate(b))
print(route_length(c))
print(route_length(d))
(3, 0, 0, 0, 0, 2, 1, 0, 1, 0, 3, 0, 7, 3, 0, 3, 0, 0)
(3, 0, 0, 0, 0, 2, 1, 0, 1, 0, 3, 0, 7, 3, 0, 3, 0, 0)
c == d
是的
我不期待“mutate”给出任何具体的答案,只是“c”和“d”不同。 'mutate' 随机重新排列一些列表,我的打印输出给出了不同列表的长度。我只是用来表明正在发生一些事情,并且每次都在发生不同的事情。
【问题讨论】:
-
你能澄清一下预期的输入/输出是什么
-
你能提供一个minimal reproducible example吗?包括数据(最小示例)。
-
mutate在做什么?
标签: python dictionary copy deep-copy