python中对列表的元素进行计数

 

001、方法1  借助字典统计

复制代码
[root@pc1 test2]# ls
test.py
[root@pc1 test2]# cat test.py              ## 测试程序
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

list1 = ["aa", "bb", "aa", "cc", "aa", "dd", "dd", "ee"]    ## 测试列表
dict1 = {}                                                  ## 空字典

for i in list1:
        if i not in dict1:
                dict1[i] = 1
        else:
                dict1[i] += 1

for i,j in dict1.items():
        print(i, j)
[root@pc1 test2]# python3 test.py     ## 统计计数
aa 3
bb 1
cc 1
dd 2
ee 1
复制代码

 

 

002、方法2,借助内置函数

a、

复制代码
[root@pc1 test2]# ls
test.py
[root@pc1 test2]# cat test.py               ## 测试程序
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

list1 = ["aa", "bb", "aa", "cc", "aa", "dd", "dd", "ee"]
list2 = []

for i in list1:
        if i not in list2:
                list2.append(i)

for i in list2:
        print(i, list1.count(i))
[root@pc1 test2]# python3 test.py          ## 执行程序
aa 3
bb 1
cc 1
dd 2
ee 1
复制代码

 

b、如果输出顺序无要求,可以使用集合去重复

复制代码
[root@pc1 test2]# ls
test.py
[root@pc1 test2]# cat test.py           ## 测试程序
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

list1 = ["aa", "bb", "aa", "cc", "aa", "dd", "dd", "ee"]

for i in set(list1):                     ## 集合去重复
        print(i, list1.count(i))
[root@pc1 test2]# python3 test.py         ## 执行程序
aa 3
cc 1
ee 1
bb 1
dd 2
复制代码

 

003、方法3

借助Counter 模块

复制代码
[root@pc1 test2]# ls
test.py
[root@pc1 test2]# cat test.py                  ## 测试程序
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from collections import Counter

list1 = ["aa", "bb", "aa", "cc", "aa", "dd", "dd", "ee"]

dict1 = dict(Counter(list1))
print(dict1)
[root@pc1 test2]# python3 test.py              ## 执行程序
{'aa': 3, 'bb': 1, 'cc': 1, 'dd': 2, 'ee': 1}
复制代码

 。

 

posted @   小鲨鱼2018  阅读(405)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2022-09-30 linux 中如何升级glibc 版本
2022-09-30 linux中查看GLIBC版本
2022-09-30 python3 ./gen_ldc_version_info.py > utils/ldc_version_info_.d make: *** [utils/ldc_version_info_.d] Error 1
2022-09-30 centos7中升级make到最新版本
2022-09-30 centos7如何升级GCC编辑器、G++编译器, 安装多个版本及切换
2021-09-30 c primer plus 12 编程练习
2020-09-30 beagle 填充 Exception in thread "main" java.lang.IllegalArgumentException: NaN
点击右上角即可分享
微信分享提示