【发布时间】:2022-01-20 14:17:36
【问题描述】:
a1 = 2
a2 = 4
a3 = 5
xa1 = 0
xa2 = 0
xa3 = 0
d = {a1 : xa1, a2 : xa2}
l1 = [a1, a2]
for item in l1:
d[item] += item
在这段代码中,我希望a1 的值在xa1 中,a2 在xa2 中,但不是xa3。
我尝试这样做,但这可能不是正确的方法。我这样做的方法不正确,所以如果有其他方法,请帮助我。
(注意有 81 个变量,如 a1、a2 等,以及 81 个如 xa1、xa2 等,它们是随机选择的,以从 'a' 变量中复制值)
我希望我没有弄得一团糟,人们能理解我想说的话。
【问题讨论】:
-
欢迎来到 Stack Overflow!请收下tour 并阅读help center,如果您有任何问题,请在Meta Stack Overflow 上提问:)
-
不要创建一堆不同的变量,而是使用
a = [2, 4, 5]和xa = [0, 0, 0]。现在您可以将a的子集复制到xa,例如xa[0:2] = a[0:2]! -
当您从变量创建字典时,字典只是获取变量值,而不是对变量的引用。所以更新字典对变量没有任何影响。
-
@Barmar 哦,是的,我想这就是发生的事情,直到最后一步我都这样做了,但是当我使用变量 xa1 而不是字典引用时,它只是给出了我的原始值(即它为 0)。谢谢!
-
@Samwise 是的,现在我想起来了,这样做会容易得多。谢谢!
标签: python list dictionary