Python错误:TypeError:类型'类型'的参数是不可迭代的

时间:2015-10-31 11:12:25

标签: python python-3.x dictionary

我正在学习如何使用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 

2 个答案:

答案 0 :(得分:2)

我不确定我是否听取了您的想法,但我注意到两件事:

  1. 您必须缩进函数体,以标记其开头和结尾。如果您按照此处的方式输入,Python应该会给您一个错误。

  2. 您从值products['soemthing']调用了一个apply方法,在我看来它是一个整数值,因此它没有' apply'方法。您收到的TypeError告诉您在可迭代对象中调用apply,例如不在整数上的列表。

  3. 建议:如果你只想写一个函数,在字典中返回与awesome相关的值,写

    def awesome_count(dict):
        if 'awesome' in dict:
            return dict['awesome']
        return 0
    

    然后直接将此函数调用到您的词典。

答案 1 :(得分:1)

如果products['word_count']list的{​​{1}},请尝试以下操作:

dict