Python中统计列表中各个元素出现的次数的几种方法

用函数set()

num = [1, 1, 2, 2, 3, 4, 4, 1]
set_num = set(num)  # set()会创建一个无序且不重复的集合
for i in set_num:
    print('%d--数量:%d' % (i,num.count(i)))

输出结果

1--数量:3
2--数量:2
3--数量:1
4--数量:2

用字典键不能重复的特性

  • 方法1
num = [1, 1, 2, 2, 3, 4, 4, 1]
dic_num = {}
for i in num:
    dic_num[i] = num.count(i)
for key,value in dic_num.items():
    print('%s--数量%d' % (key,value))
  • 方法2
num = [1, 1, 2, 2, 3, 4, 4, 1]
dic_num = dict.fromkeys(num) 
# 这种方法建立字典,会把列表里的元素当做字典的键,由于字典的键不能重复,所以会自动去重
for i in dic_num.keys():
    print('%s--数量%d' % (i,num.count(i)))

用append()方法把原列表中的元素不重复的添加到一个新列表里

num = [1, 1, 2, 2, 3, 4, 4, 1]
new_num = []
for i in num:
    if i not in new_num:
        new_num.append(i)
for j in new_num:
    print('%s--数量%d' % (j,num.count(j)))

用计数器Counter()类

from collections import Counter
num = [1, 1, 2, 2, 3, 4, 4, 1]
new_num = Counter(num) 
# 输出  Counter({1: 3, 2: 2, 4: 2, 3: 1})

print(new_num)
for i ,value in new_num.items():
    print('%s--数量%d' % (i,value))
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值