我有兩個元組 - 一個與鍵和另一個的不同類型(列表,float64,int和陣列)的變量的集合與來自字典下式的幫助下產生:如何從元組中解壓縮變量並從另一個元組中提供名稱?
keys, values = zip(*[(key, value) for (key, value) in data_dict.items()])
現在我想從值列表中檢索變量,並從鍵列表中給它們命名。我怎樣才能做到這一點?
我有兩個元組 - 一個與鍵和另一個的不同類型(列表,float64,int和陣列)的變量的集合與來自字典下式的幫助下產生:如何從元組中解壓縮變量並從另一個元組中提供名稱?
keys, values = zip(*[(key, value) for (key, value) in data_dict.items()])
現在我想從值列表中檢索變量,並從鍵列表中給它們命名。我怎樣才能做到這一點?
如果你想從你的字典創建在全球範圍內的變量,或許你會喜歡這個更新。
我不確定這是不是您要找的。
這就是我正在尋找的!非常感謝! –
如果它真的無法保存您的鍵/值對在dict
,並將它們序列化到該格式的數據文件,你可以使用exec
動態構造賦值語句
>>> key = 'foo_var'
>>> val = 'foo_val'
>>> exec('{key} = \'{val}\''.format(key=key, val=val))
>>> foo_var
'foo_val'
我想探討首先儘可能採用dict
的方法,以防萬一那可以爲你工作。儘可能避免使用exec
和eval
來生成運行時代碼有很多很好的理由。沒有拆包的字典
globals().update(data_dict)
:
你是什麼意思*「給他們的名字」*?你爲什麼不用*使用字典?* – jonrsharpe
我再次需要這些變量,因爲我每天運行一次代碼,並使用spyder數據文件(它將所有變量保存到字典中)以保持我的變量更新。 –
你能否提供更多的上下文?如果將它們全部保存到字典中,*爲什麼不使用字典?* – jonrsharpe