如何将defaultdict拆分为独立列表,其中键作为列表名,值作为列表元素。
例如:
defaultdict ([('A', [1, 3, 4]), ('B', [3, 6, 8])])
我如何获得:
A= [1,3,4]
B= [3,6,8]
答案 0 :(得分:1)
我很抱歉,但一般情况下你不能,你不应该尝试。
这样做的一个明显原因是你需要强制执行dict键是有效的Python名称(甚至任何字符串都不起作用,更不用说处理非字符串键了。)
另一个原因是,即使密钥 是有效名称,您也可以无法预测地覆盖碰巧具有此名称的其他对象。它可能是一个内置函数或任何东西,它可以以任何可能的方式破坏你的脚本。
如果你不相信,你可以尝试这样的事情:
In [1]: d = {'A': [1, 3, 4], 'B': [3, 6, 8]} # a defaultdict would work, too
In [2]: for k, v in d.items():
...: globals()[k] = v
...:
In [3]: A
Out[3]: [1, 3, 4]
In [4]: B
Out[4]: [3, 6, 8]
要阅读的文档: