如何将Python字典转换为对应键名的独立NumPy数组?
将字典键转为独立NumPy数组的解决方案
方法一:动态生成全局变量
直接通过globals()在当前命名空间创建对应变量,适配任意数量的键值对:
import numpy as np dicta = {'a':[1,2,3], 'b':[4,5,6,7,8], 'c':[9,10], 'd':[11,12,13,14], 'e':[15,16]} # 遍历字典,将每个值转为NumPy数组并以键名为变量名存储 for key, val in dicta.items(): globals()[key] = np.array(val)
执行后,直接调用a、b等变量即可得到对应的NumPy数组,例如print(a)会输出array([1, 2, 3])。
方法二:存入自定义字典(更安全)
动态修改全局命名空间可能导致变量冲突,推荐将生成的数组存入新字典统一管理:
import numpy as np dicta = {'a':[1,2,3], 'b':[4,5,6,7,8], 'c':[9,10], 'd':[11,12,13,14], 'e':[15,16]} numpy_dict = {} for key, val in dicta.items(): numpy_dict[key] = np.array(val)
访问时使用numpy_dict['a']、numpy_dict['b']即可获取对应数组。
关键注意点
- 字典的键必须符合Python变量命名规则(不能以数字开头、不能是
if/for这类关键字),否则动态生成变量会抛出语法错误。 - 如果只是临时使用数组,优先选择第二种方法,避免污染全局命名空间。
内容的提问来源于stack exchange,提问作者Eg It
相关产品推荐
相关产品推荐

