【发布时间】:2015-12-03 17:07:06
【问题描述】:
尝试使用 rep:unencrypted_pdf 键值对创建字典。尝试字典理解方法,但它在“for”处给了我一个语法错误。我该如何纠正这个问题?
file_dict = {
for report in os.listdir(PATH):
split = re.split("[_.]", unencrypted_pdf)
rep = split[1]
file_dict[rep] = unencrypted_pdf
}
【问题讨论】:
-
呃。
file_dict = {}将初始化字典,然后您就可以向它添加值。当前语法错误,您不能将for循环和 赋值放在大括号中。 -
谢谢@vaultah 我正在修改一些代码并且显然误读了这个建议。这解决了我的问题。
-
这个问题在我解释的时候被关闭了,如果你想使用dictionary comprehension,语法是不同的!!
-
@memoselyk 所以我应该能够使用 for 循环来初始化并将数据添加到字典中?
-
@AlliDeacon,如果您的初始化代码适合单个表达式,您可以使用字典理解一次性完成,例如
file_dict = {re.split("[_.]", report)[1] : report for for report in os.listdir(PATH)},但如果您的表达式变得过于复杂而无法理解,请使用下面的答案中提到的方法。
标签: python python-2.7 for-loop dictionary