Python 如何连接str并转换为dict
我有这么多的变量,我想要Python 如何连接str并转换为dict,python,python-3.x,numpy,dictionary,Python,Python 3.x,Numpy,Dictionary,我有这么多的变量,我想要 import numpy as np a_var = np.array([1,2,3,5,67,9]) b_var = np.array([1,3,3,7,67,9]) b_var = np.array([1,5,3,7,77,10]) mydict = [] for i in dir(): if i.endswith(_var): mydict += i 有什么办法可以实现吗 非常感谢您可以使用locals(): 或者,听写理解: imp
import numpy as np
a_var = np.array([1,2,3,5,67,9])
b_var = np.array([1,3,3,7,67,9])
b_var = np.array([1,5,3,7,77,10])
mydict = []
for i in dir():
if i.endswith(_var):
mydict += i
有什么办法可以实现吗
非常感谢您可以使用locals()
:
或者,听写理解:
import numpy as np
a_var = np.array([1,2,3,5,67,9])
b_var = np.array([1,3,3,7,67,9])
b_var = np.array([1,5,3,7,77,10])
mydict = {}
for i in dir():
if i.endswith('_var'):
mydict.update({i:locals()[i]})
print(mydict)
我确实建议这样做,这将产生相同的结果:
mydict = {i:locals()[i] for i in dir() if i.endswith('_var')}
可以使用python内置函数locals()获取当前上下文中定义的所有变量。这是一份口述 看
您可以通过dict comprehension从locals()dict获取以“\u var”结尾的所有变量:
这通常不是最好的主意。你最好从字典开始,而不是试图将所有变量转换成dict。尽管michcio1234对原始问题的评论很有道理。如果您想要一个变量的dict,这是一个危险信号。首先考虑改写代码以使用DICT。
mydict = {i:locals()[i] for i in dir() if i.endswith('_var')}
import numpy as np
mydict = {}
mydict['a_var'] = np.array([1,2,3,5,67,9])
mydict['b_var'] = np.array([1,3,3,7,67,9])
mydict['b_var'] = np.array([1,5,3,7,77,10])
print(mydict)
{k:v for k,v in locals().items() if k.endswith('_var')}