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')}