Python如何修改字典中的列表 实现列表数值批量乘3操作
实现方法
你给出的原始字典代码存在一处语法问题:'numbers2':[4,5,6] 行尾缺少逗号,运行前需要补上,否则会触发语法报错。
要把字典中所有列表内的数值统一乘以3,有两种常用实现方式:
- 直接修改原字典
遍历字典的所有键,对每个键对应的列表做元素级乘3计算,直接覆盖原有值即可:
my_dict = { 'numbers': [1,2,3], 'numbers2': [4,5,6], 'numbers3': [7,8,9] } for key in my_dict: my_dict[key] = [num * 3 for num in my_dict[key]] print(my_dict)
运行后输出结果符合预期:
{'numbers': [3, 6, 9], 'numbers2': [12, 15, 18], 'numbers3': [21, 24, 27]}
- 生成新字典(不改动原始字典)
如果你需要保留原始字典的原始数据,可以通过字典推导式直接生成新的结果字典:
my_dict = { 'numbers': [1,2,3], 'numbers2': [4,5,6], 'numbers3': [7,8,9] } new_dict = {k: [num * 3 for num in v] for k, v in my_dict.items()} print(new_dict)
提示:如果你的字典里存在非列表类型的值,上述代码会报错,使用前请确认字典所有值均为存储数值的列表,也可以额外增加类型判断逻辑适配混合值的场景。
内容的提问来源于stack exchange,提问作者Hygor
相关产品推荐
相关产品推荐

