python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python统计列表元素次数

Python统计列表中每个元素出现次数的4种实现

作者:三尺秋水一点飞鸿

本文主要介绍了Python统计列表中每个元素出现次数的4种实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

求出列表lists中每个元素出现的次数

方法一:使用函数Counter,可以迅速获取list中每个元素出现的次数

from collections import Counter
arr=[1,2,5,1,1,5,6,3,3,2,2,4,8]
# arr=Counter(lists)
# print(arr)
def counter(arr):
    return Counter(arr)
print(counter(arr))  

两种写法的结果都是Counter({1: 3, 2: 3, 5: 2, 3: 2, 6: 1, 4: 1, 8: 1})

"""
方法二:使用for循环
"""
result=['python','java','python','flask','django','flask']
result_dic={}
for item_str in result:
    if item_str not in result_dic:
        result_dic[item_str]=1
    else:
        result_dic[item_str]+=1
print(result_dic)

结果:{'python': 2, 'java': 1, 'flask': 2, 'django': 1}

"""
方法三:利用list中的函数count,获取每个元素的出现次数
"""
list1=[1,5,5,2,2,2,1,3]
def all_list(list1):
    result = {}
    for i in set(list1):
        result[i]=list1.count(i)
    return result
print(all_list(list1))

结果:{1: 2, 2: 3, 3: 1, 5: 2}

"""
方法四:利用Numpy索引,获取每个元素的出现次数
"""
import numpy as np
list2=[5,5,5,8,8,9,1]
def num(lis):
    lis=np.array(lis)
    key=np.unique(lis)
    result={}
    for k in key:
        mask =(lis == k)
        list_new=lis[mask]
        v=list_new.size
        result[k]=v
    return result
print(num(list2))

结果:{1: 1, 5: 3, 8: 2, 9: 1}

到此这篇关于Python统计列表中每个元素出现次数的4种实现的文章就介绍到这了,更多相关Python统计列表元素次数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文