我想取一个变量和变量值并将它们附加到字典中:
mydict = {}
myvar = 5
mydict[myvar] = myvar.value
>>> mydict
{myvar : 5}
有什么想法吗?
答案 0 :(得分:1)
正如我在评论中所解释的那样,对于任意变量来说这是不可能的(当然除了硬编码之外,例如x = 5 ; {'x': x}
。
的可能性:
只需使用locals()
或dir()
,但您将获得(可能)不关心的信息(例如当前文件路径,导入的模块等)。
在对其名称进行硬编码时创建特定变量的字典:
x = 1
y = 2
print({var_name: globals()[var_name] for var_name in ['x', 'y']})
# {'x': 1, 'y': 2}
使用有关您要搜索的变量的预定义知识。例如,获取所有定义的int
和float
:
a = 1
b = 2
c = 3.0
print({var_name: var_value for var_name, var_value in globals().items()
if isinstance(var_value, (int, float))})
# {'c': 3.0, 'a': 1, 'b': 2}