2021-09-17

Python合并多个list,并统计合并后list中各元素出现的个数

背景:数据库中字段存储为列表形式,需将该字段查询出来,并统计查询出来数据中,各个元素出现的个数

一、合并列表
1、直接相加
temp_list1 = [1,2,3]
temp_list2 = ['a','b','c']
result = temp_list1 + temp_list2
print(result)

# 执行结果
[1, 2, 3, 'a', 'b', 'c']
2、extend()
temp_list1 = [1,2,3]
temp_list2 = ['a','b','c']
result = temp_list1.extend(temp_list2)
print(result)
print(temp_list1)

# 执行结果
None
[1, 2, 3, 'a', 'b', 'c']

注意: 第二种方法比较简洁,会覆盖原始list

二、统计列表中元素个数
1、利用字典统计
temp_list = [5,3,4,7,1,3,2,7,0,9,1,3,5,2,3,2,5,6,7,9,4,5]
temp_dict = {}
for key in temp_list:
    temp_dict[key] = temp_dict.get(key, 0) + 1
print("temp_dict:{}".format(temp_dict))

# 执行结果:
temp_dict:{5: 4, 3: 4, 4: 2, 7: 3, 1: 2, 2: 3, 0: 1, 9: 2, 6: 1}
2、利用内置库Counter类统计
from collections import Counter
temp_list = [5,3,4,7,1,3,2,7,0,9,1,3,5,2,3,2,5,6,7,9,4,5]
result = Counter(temp_list)
print(type(result))
print("result:{}".format(result))

# 执行结果
<class 'collections.Counter'>
result:Counter({5: 4, 3: 4, 7: 3, 2: 3, 4: 2, 1: 2, 9: 2, 0: 1, 6: 1})
3、利用第三方库pandas统计
import pandas
temp_list = [5,3,4,7,1,3,2,7,0,9,1,3,5,2,3,2,5,6,7,9,4,5]
result = pandas.value_counts(temp_list)
print(type(result))
print("result:{}".format(result))

# 执行结果
<class 'pandas.core.series.Series'>
result:5    4
3    4
7    3
2    3
4    2
1    2
9    2
0    1
6    1
dtype: int64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值