【发布时间】:2013-12-25 03:21:30
【问题描述】:
当我遇到问题时,我试图缩短 this problem 的代码。
基本上,我正在尝试嵌套字典理解,但尝试失败。 这是我尝试过的。
dict2 = {key:value for key, value in line.split(":")
for line in ["1:One", "2:Two", "4:Four"]}
print dict2
当我运行它时,它给了我
NameError: name 'line' is not defined
而且,当我像这样反转for 语句时
dict2 = {key:value for line in ["1:One", "2:Two", "4:Four"]
for key, value in line.split(":")}
print dict2
结果
ValueError: need more than 1 value to unpack
我需要有关dictionary(或list)理解嵌套结构的帮助。举个例子会有很大帮助。
【问题讨论】:
-
这实际上是一个极好的问题,并强调了 Python 文档中完全未解决的问题。也有很多方法可以很好地实现这一点。希望这会被记录下来,这样我们就不会变成 PERL...
-
@smci Python 是开源的,您可以随时提交补丁 :) 文档比代码更容易,因为需要最少的测试。
标签: python dictionary nested dictionary-comprehension