Python中如何通过程序将已有字典名称修改为动态获取的变量值
实现方案
Python本身不支持直接「重命名」已有的变量名,但可以通过两种方式实现你需要的效果:
方法1:直接创建动态命名的变量
如果确实需要生成独立的变量,变量名来自你提前存在z中的字符串,可以借助globals()(全局作用域)或locals()(函数内部局部作用域)字典实现:
# 你的原有代码 pcm30 = {'ABB': '-0.92', 'ZYDUSWELL': 2.05} z = "pCh0109" # 把字典内容赋值给以z的值为名称的变量 globals()[z] = pcm30 # 可选:删除原有的pcm30变量 del pcm30 # 验证:此时可直接用pCh0109访问字典 print(pCh0109) # 输出:{'ABB': '-0.92', 'ZYDUSWELL': 2.05}
方法2:总字典统一管理(更推荐,适合后续生成DataFrame的场景)
如果你需要创建多个动态字典,后续还要生成DataFrame,更建议把所有动态字典统一存在一个总字典中,避免零散变量过多导致命名冲突、无法批量处理的问题:
# 初始化总字典,用来存储所有动态生成的字典 all_dicts = {} pcm30 = {'ABB': '-0.92', 'ZYDUSWELL': 2.05} z = "pCh0109" # 将动态名称作为key,字典内容作为value存入总字典 all_dicts[z] = pcm30 del pcm30 # 访问方式 print(all_dicts["pCh0109"]) # 后续生成DataFrame非常方便 import pandas as pd df = pd.DataFrame(all_dicts)
内容的提问来源于stack exchange,提问作者DrSaaie K B
相关产品推荐
相关产品推荐

