我目前有一些代码是这样的:
letters = {
10 : "A",
11 : "B",
12 : "C",
13 : "D",
14 : "E",
15 : "F"
}
vallist = [rd1, rd2, gd1, gd2, bd1, bd2]
for i in vallist:
if i >= 10:
i = letters[i]
我想要发生的是 for 循环遍历 vallist
并将大于 10 的任何值替换为相应的字母。但是,我当前的代码只是更改了 i
而不是列表中的原始值。 For example, if rd1
is set to 15, the code runs through and i
is set to "F"
, but rd1
does not change到 "F"
,而是保持为 15。我该如何解决这个问题?
原文由 Kai036 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于
for
循环的每次迭代,变量i
仅分配了vallist
中的一项值的副本,因此 - 更改i
不会反映在i
中。您应该通过索引更新
i
的项目,您可以使用enumerate
函数生成: