如何从元组中解压缩变量并从另一个元组中给它们命名?

时间:2016-09-15 09:20:04

标签: python

我有两个元组 - 一个带有键,另一个带有一组不同类型的变量(list,float64,int和array),它们来自字典中的以下公式:

keys, values = zip(*[(key, value) for (key, value) in data_dict.items()])

现在我想从值列表中检索变量,并从键列表中为它们命名。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

如果真的无法将您的键/值对存储在dict中并将它们序列化为该格式的数据文件,则可以使用exec动态构造赋值语句< / p>

>>> key = 'foo_var'
>>> val = 'foo_val'
>>> exec('{key} = \'{val}\''.format(key=key, val=val))
>>> foo_var
'foo_val'

我首先探讨dict方法,以防万一可以为你效劳。在可能的情况下,使用execeval避免运行时代码生成有很多充分的理由。

答案 1 :(得分:0)

如果您想在字典中创建全局范围内的变量,也许您可​​以像这样更新它:

globals().update(data_dict)

没有解开dict。

我不确定这是否是您正在寻找的。