我正在学习如何使用Python Dictionaries,并且正在编写一个小程序来了解单词count列中的单词awesome
,然后它应该返回值。
然而,它给了我以下错误:
TypeError: argument of type 'type' is not iterable
我的word_count
列如下:
{'and': 5, 'stink': 1, 'because': 2}
{'awesome': 3, 'bad': 2}
{'mac': 5, 'awesome': 1}
我创建了这个功能:
def awesome_count(self):
if 'awesome' in dict:
return dict['awesome']
else:
return 0
之后,我使用apply函数来获取计数,但收到错误:
products['awesome'] = products['word_count'].apply(awesome_count)
期待以下答案:
0,3,1 i.e number of times awesome is present
答案 0 :(得分:2)
我不确定我是否听取了您的想法,但我注意到两件事:
您必须缩进函数体,以标记其开头和结尾。如果您按照此处的方式输入,Python应该会给您一个错误。
您从值products['soemthing']
调用了一个apply方法,在我看来它是一个整数值,因此它没有' apply'方法。您收到的TypeError
告诉您在可迭代对象中调用apply,例如不在整数上的列表。
建议:如果你只想写一个函数,在字典中返回与awesome
相关的值,写
def awesome_count(dict):
if 'awesome' in dict:
return dict['awesome']
return 0
然后直接将此函数调用到您的词典。
答案 1 :(得分:1)
如果products['word_count']
是list
的{{1}},请尝试以下操作:
dict