【发布时间】:2016-01-19 14:29:38
【问题描述】:
我正在学习 Python,我有一本这样的字典:
category = { "World news": [0], "Politics": [0], ... }
现在我正在从文件中读取文章。每篇文章都有一个类别。所以我希望当一个类别满足时,我必须将每个键的 0 增加 1,并用它找到的文章来增加每个键的数组。所以输出将是:
category = { "World news": [2, "foo bla content of", "content of 2nd article"],
"Politics": [1, "only 1 article here"],
...
}
这是我现在拥有的:
for row in iter_reader:
category[row[4]][0] = category[row[4]][0] + 1
category[row[4]].append(category[row[3]])
但我认为它将文章解释为键并引发相关错误:
文件“./wordCloud.py”,第 41 行,在 类别[行[4]].append(类别[行[3]]) KeyError: '当 Apple 在 2010 年 1 月推出它时..
有什么想法吗?
row[4] 是文章的类别。
row[3]是文章内容。
正如 Bryan Oakley 所说,我不需要专柜,所以我现在正在朝这个方向思考……
【问题讨论】:
-
为什么要设置柜台?可以使用
len函数获取文章数量。 -
哦不知道@BryanOakley。这是有道理的,举个例子就好了。我正在努力按照你现在所说的去做。
-
看来你只是放错了一些索引,但没有看到
row很难说。此外,stackoverflow 不是调试器。 -
@Joost
row索引很好。当然不是,这就是我在这里询问的原因。你看问题不在于索引,问题是我没有理解 Python 中的好东西。 :) 我正在更新。 -
啊,添加该错误确实有帮助。我想我会发布一个答案。
标签: python dictionary