Kai*_*036 6 python for-loop list python-3.x
我目前有一些代码如下:
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]
Run Code Online (Sandbox Code Playgroud)
我想要发生的是 for 循环来迭代vallist并用相应的字母替换大于 10 的任何值。但是,我当前的代码只是更改,i而不是列表中的原始值。例如,如果rd1设置为 15,则代码运行并i设置为"F",但rd1不会更改为"F",而是保持为 15。我该如何解决这个问题?
blh*_*ing 11
对于for循环的每次迭代,变量i只分配了 中项目值的副本vallist,因此对 所做的更改i不会反映在 中i。
您应该更新ivia 索引的项目,您可以使用该enumerate函数生成该索引:
for index, value in enumerate(vallist):
if value >= 10:
vallist[index] = letters[value]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17317 次 |
| 最近记录: |