【发布时间】:2015-04-01 20:38:52
【问题描述】:
我是 Python 新手,并试图从这个 for 循环中编写字典理解:
results = []
for line in self.data:
if value in line:
item = dict(zip(self.keys, line))
results.append(item)
continue
return results
self.keys 是一个列表 self.data 是属于这些键的值列表的列表。基本上,我有一个制表符分隔的文本文件(键)顶部的值列表,然后是文件中表示的实际项目的值的一堆行:
[scene, take, camera]
[12, 1, A]
[12, 1, B]
[12, 2, A]
[12, 2, B]
等等……
我想要,
{scene:12, take:1, camera:A}
我的代码有效,但我正在努力学习,所以我想知道是否有人可以教我如何将其编写为理解。
任何帮助将不胜感激!
谢谢,
丹
【问题讨论】:
-
continue是多余的 -
旁白:你听说过
csv.DictReader吗? -
你好,马特。除了语法错误,我没有尝试任何其他的东西,所以我没有保留任何东西来粘贴,抱歉。
-
您好帝斯曼。不,我没有听说过,但我不允许实际导入任何东西。我应该只使用内置插件来编写它。
-
帕德里亚克·坎宁安,对不起。我应该包括 def 的第一行。 def dicts(self, value):
标签: python list dictionary dictionary-comprehension