0

如何将 defaultdict 拆分为独立的列表,其中键作为列表名称,值作为列表元素。

例如:

defaultdict ([('A', [1, 3, 4]), ('B', [3, 6, 8])])

如何得到:

A= [1,3,4]
B= [3,6,8]
4

1 回答 1

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]

要阅读的文档:

于 2013-02-15T20:06:40.070 回答