【python数据处理】针对列表元素进行计数的多种方法

本文介绍了在Python中对列表元素进行计数的多种方法,包括使用numpy、pandas、collections模块以及基础的字典和集合数据结构。通过实例展示了每种方法的实现和输出结果,帮助读者理解不同计数策略的适用场景。
摘要由CSDN通过智能技术生成


手动反爬虫: 原博地址 https://blog.csdn.net/lys_828/article/details/127484453

 知识梳理不易,请尊重劳动成果,文章仅发布在CSDN网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息

0 测试数据

# 测试数据
ls = [1,2,3,2,1,2,4,5,4,5,2,5]

在这里插入图片描述

1 使用第三方模块

1.1 借助numpy模块

import numpy as np
np.unique(ls,return_counts=True)

输出结果为:
在这里插入图片描述

1.2 借助pandas模块

import pandas as pd
pd.Series(ls).value_counts().to_dict()

输出结果为:
在这里插入图片描述

2 借助本地collections模块

python中自带的collections模块可以实现很多关于数值的操作运算,比如里面的Counter方法,就可以实现快速计数

#方式三:使用python自带的标准模块
from collections import Counter
c = Counter(ls)
c

c.most_common(2)

dict(c)

输出结果如下:
在这里插入图片描述

3 仅使用python基础语法进行计数

3.1 借助字典数据结构

第一种: 核心是借助字典中的fromkeys()方法,创建一个各唯一元素对应值为0的字典

#第一种:先创建一个各唯一元素对应值为0的字典
dic = dict.fromkeys(ls,0)
print('初始化的空值字典:',dic)
for k in ls:
    dic[k] += 1
print('完成计数后的字典:',dic)

在这里插入图片描述
第二种:借助字典的get()方法

#①
dic = {}
for k in ls:
    dic[k] = dic.get(k,0)+1
print(dic)

# ②
dic = {}
for k in ls:
    if k in dic:
        dic[k] += 1
    else:
        dic[k] = 1
print(dic)

输出结果如下
在这里插入图片描述

3.2 借助集合数据结构

s = set(ls)
ls = []
for i in s:
    ls.append((i,ls.count(i)))
ls

输出结果为:
在这里插入图片描述

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lys_828

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值