【问题标题】:Using a For Loop to create and add data to dictionary [closed]使用 For 循环创建数据并将其添加到字典 [关闭]
【发布时间】: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


【解决方案1】:

您应该首先初始化一个字典,然后在该行之后您可以为其赋值。如下:

file_dict = {}
for report in os.listdir(PATH):
    splitted = re.split("[_.]", unencrypted_pdf)
    rep = splitted[1]
    file_dict[rep] = unencrypted_pdf

【讨论】:

    猜你喜欢
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 2023-01-17
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    相关资源
    最近更新 更多