当前位置: 移动技术网 > IT编程>脚本编程>Python > Python统计列表中的重复项出现的次数的方法

Python统计列表中的重复项出现的次数的方法

2019年03月28日  | 移动技术网IT编程  | 我要评论

合肥365房产网,世界十大品牌网,工业喷嘴

本文实例展示了python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合python初学者学习借鉴。具体方法如下:

对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在我们需要统计这个列表里的重复项,并且重复了几次也要统计出来。

方法1:

mylist = [1,2,2,2,2,3,3,3,4,4,4,4]
myset = set(mylist)  #myset是另外一个列表,里面的内容是mylist里面的无重复 项
for item in myset:
  print("the %d has found %d" %(item,mylist.count(item)))

方法2:

list=[1,2,2,2,2,3,3,3,4,4,4,4]
a = {}
for i in list:
  if list.count(i)>1:
    a[i] = list.count(i)
print (a)

利用字典的特性来实现。

方法3:

>>> from collections import counter
>>> counter([1,2,2,2,2,3,3,3,4,4,4,4])
counter({1: 5, 2: 3, 3: 2})

这里再增补一个只用列表实现的方法:

l=[1,4,2,4,2,2,5,2,6,3,3,6,3,6,6,3,3,3,7,8,9,8,7,0,7,1,2,4,7,8,9]

count_times = []
for i in l :
  count_times.append(l.count(i))

m = max(count_times)
n = l.index(m)

print (l[n])

其实现原理就是把列表中的每一个数出现的次数在其对应的位置记录下来,然后用max求出出现次数最多的位置。
只用这段代码的话,有一个缺点,如果有多个结果,最后的现实的结果只是出现在最左边的那一个,不过解决方法也很简单

感兴趣的读者可以动手实践一下本文所述代码,还可以对不足之处加以改进,使之功能更加完善。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网