我正在使用python3,尝试在字典列表中循环,以检查每个字典中是否包含键“retweetd\u status”。目前,我的代码是:
for item in tweets_data:
if 'retweeted_status' in item:
retweets2.append(item)
else:
pass
我得到的类型错误是:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-38-8c0e9225c623> in <module>()
1 for item in tweets_data:
----> 2 if 'retweeted_status' in item:
3 retweets2.append(item)
4 else:
5 pass
TypeError: argument of type 'int' is not iterable
。你知道吗
tweets_data
是一个包含来自文本文件的tweet的列表。为了创建这个列表,我打开并读取了文本文件。对于文本文件中的每一行,我使用json.loads文件(行)并从中保存结果json.loads文件(行)到一个变量。然后我附加了保存的结果tweets_data
。你知道吗
我不完全理解这个错误。这是否意味着该项目是不可编辑的?你知道吗
我想象这段代码的工作方式是,它在我的字典列表上迭代(因此,每一项都是一个字典)……那么为什么字典需要是iterable呢?任何解释都会非常有用。你知道吗
所以,不管出于什么原因,我的tweets_data
并不是一个完整的字典列表,它包含了人们在下面的评论中建议的整数
这是你的答案。。我放了一个虚拟的字典列表进行测试,你的数据很可能是不同的结构,但过程不应该有太大的不同
如果没有看到代码中所有变量的值,很难说代码出了什么问题。你知道吗
然而,这是一个更简短和更“Python”的方式做你想做的事。你知道吗
相关问题 更多 >
编程相关推荐