【问题标题】:Getting KeyError when trying to create multiple variables in for loop ("post0", "post1", etc.)尝试在 for 循环中创建多个变量(“post0”、“post1”等)时出现 KeyError
【发布时间】:2015-06-17 14:15:27
【问题描述】:

对 python 非常陌生 - 昨天才开始实际使用它。我正在运行一个 for 循环,它扫描一个文本文件并将其特定部分复制到变量中,然后将这些变量放入一个类“post”中。我想在循环的底部创建一个新帖子,命名为“post0”、“post1”等,与 for 循环的运行次数相对应。这是我正在尝试使用的:

postname = globals()['post%s' % s]

我目前正在尝试让它在每次使用简单的print(postname) 创建帖子时打印帖子的名称。 's' 是 for 循环运行的变量,如果这有意义的话。它从 0 开始,一直运行到文本文件中的行数,目前为 424。

当我运行代码时,它返回“KeyError: post0”。我做错了什么?

此外,在这里阅读似乎以这种方式创建变量是不好的做法。如果有更有效的方法,我很乐意尝试,但我也想知道如何使这种方法起作用,以便我理解这个概念。谢谢。

编辑:问题解决了!请参阅下面的答案。

【问题讨论】:

    标签: variables global keyerror


    【解决方案1】:

    我在循环外创建了一个列表postlist = [],然后在循环内我在列表中附加了一个“post_”,其中“_”是“s”变量。看起来像这样:

    postlist.append('post%s' % s)

    Python 很酷!

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-01
      • 1970-01-01
      相关资源
      最近更新 更多