如何遍历dict(字典)并将处理后的值赋值到list(列表)中
解决方案
你原有的写法将循环的整数索引直接作为字典键取值,只有在字典键恰好为连续整数时才能正常运行,当键为字符串类型时就会触发KeyError。
你可以使用Python内置的enumerate()函数遍历字典,它会同时返回当前循环的索引序号和对应的字典内容,完美适配你需要按指定索引给列表赋值的需求:
# 遍历字典同时获取索引、键、值 for idx, (key, val) in enumerate(your_actual_dict.items()): # 你的业务处理逻辑:注意整数索引需要转字符串再和字符串值拼接,避免类型报错 my_string = val + str(idx) # 按索引给目标列表赋值 your_actual_list[idx] = my_string
如果你的处理逻辑不需要用到字典的键,也可以直接遍历字典的值:
for idx, val in enumerate(your_actual_dict.values()): my_string = val + str(idx) your_actual_list[idx] = my_string
额外注意事项
- 你原有代码里直接对字符串类型的字典值和整数索引做
+运算会抛出类型错误,必须把索引用str()转为字符串后再拼接 - 如果你的目标列表没有预先初始化到和字典长度一致,按下标赋值会触发索引越界。如果是生成新列表的场景,推荐直接用
append()方法追加,不需要预先指定索引:
your_actual_list = [] for idx, val in enumerate(your_actual_dict.values()): your_actual_list.append(val + str(idx))
内容的提问来源于stack exchange,提问作者user16345050
相关产品推荐
相关产品推荐

