为什么在python中使用.count()时会出现AttributeError

时间:2011-05-10 11:22:37

标签: python arrays count attributeerror

array1=[ 0 5 6 6 6 0 6 0 6 8 0 19 24 7 0 4 9 14 12 0 22 17 1 0 19 6 17 4 7 0 17 24 0 6 9 22]

i=0
while i<23
      m= array1.count(i)
      i=i+1

AttributeError: 'numpy.ndarray' object has no attribute 'count'

为什么在使用.count()时会出现属性错误?我需要导入一些东西吗?

4 个答案:

答案 0 :(得分:7)

嗯,根据documentationndarray根本没有count方法。

您发布的代码与您提供给我们的错误消息相矛盾。在您的代码中,您创建了一个简单的Python列表,但是您的错误消息表明您实际上正在使用numpy ndarray

答案 1 :(得分:0)

首先,你的数组格式很奇怪,数字之间应该有逗号。其次,您是从numpy包创建numpy.ndarray,而不是本机python列表。使用python列表,它应该可以工作。

答案 2 :(得分:0)

尝试用“\”打破行 并在数字之间加上“,” How can I do a line break (line continuation) in Python?

答案 3 :(得分:0)

您尝试做的事情可以更有效地完成  (Python 2.7及以上版本):

import numpy as np
from collections import Counter
array1= np.array([ 0,  5,  6,  6,  6,  0,  6,  0,  6,  8,  0, 19, 24,  7,  0,  4,  9, 14, 12,  0, 22, 17,  1,  0, 19, 6, 17,  4,  7,  0, 17, 24,  0,  6,  9, 22])
print Counter(array1.most_common(1))