有没有办法为给定变量创建字典 {var_name:var_value} ?

Ded*_*raz 6 python

我可以创建一个从输入返回字典的函数吗?喜欢:

>>> a = 1
>>> b = 2
>>> d = vars_to_dict(a,b) # or d = vars_to_dict((a,b))
>>> print d
{'a': 1, 'b': 2}
Run Code Online (Sandbox Code Playgroud)

它实际上不一定是一个函数 - 我不相信该函数给出了对象名称。我只是想知道是否有从 vars 创建字典的简写。目前我做了很多这样的事情:

dict(data=data,index=index)
Run Code Online (Sandbox Code Playgroud)

这样我可以在制作字典时选择键名称,但我实际上不需要选择它们,因为它们是变量的名称。

PS:我见过这个问题,但不太一样(我是从变量而不是变量名称开始)

给定 Python 中的变量名称列表,如何创建一个以变量名称作为键(变量值)的字典?

编辑:这是“需要”var-dict 的块之一:

data = []
index = []
for sent in sentences:
    sent_data = []
    sent_index = []
    for word in sent:
        sent_data.append(word[0])
        sent_index.append((word[1],word[2]))
    data.append(sent_data)
    index.append(sent_index)
Run Code Online (Sandbox Code Playgroud)

EDIT2:澄清一下:我想知道是否有办法将变量的名称放入字典或字符串中。而不是手动输入。

小智 -1

请尝试这个...

def vars_to_dict(a,b):
    dict1= {}
    dict[a]=a,
    dict[b]=b,
    return dict1
Run Code Online (Sandbox Code Playgroud)

  • 这不起作用 - 对于 a=1,字典将是 {1:1},而不是 {'a':1} (3认同)