- 在线时间
- 479 小时
- 最后登录
- 2026-4-13
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7789 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2922
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)
+ _6 r- ~8 _2 k: Vdict的子类,计算可hash的对象# L2 N% N& D1 P
请点击Counter2 c9 C. ^! w2 E! H b6 e
Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。
3 |: @. O% ?! Z, S4 X! R - from collections import Counter\" Z3 V g( ^4 |0 O6 K
* C\" R. K }% h/ C& j9 W, x+ ^- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]! v' @3 d; m. C6 q8 j; H
- dic = Counter(list1)
- m4 v9 A' N- p- A( j$ d0 L' j - print(dic)
9 `/ s% }1 c% m5 i# @ - #结果:次数是从高到低的
( [6 O. q1 i \! h - #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})/ B$ A: c9 W4 ^: f7 H
! D; m8 b$ e4 T6 e- print(dict(dic))
5 E1 e( I- ?* J3 J- @# G - #结果:按字母顺序排序的
# D0 G; d m: |2 h/ b - #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}/ b' A) T! u1 [* y
) u! n+ D* m0 e5 p# R- print(dic.items()) #dic.items()获取字典的key和value% j9 ?+ x! c\" Q$ }2 t$ y m5 b3 T
- #结果:按字母顺序排序的
5 U( t+ C* E0 @/ L/ ~: N1 X - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])\" ^\" M, }8 [1 @- }
- ; P% b( D9 E9 x7 g K
- print(dic.keys())
5 X: U' [( N, `2 W7 `9 Q& v - #结果:
% M* n5 X+ y! R9 e1 q3 {# b1 B; q, Z - #dict_keys(['a', 'b', 'c', 'f', 'g'])
& i* d8 T- |9 K1 p! u- J - 5 {, h+ t6 j$ `\" S
- print(dic.values())9 A5 ~0 n0 U( d6 {' \) X
- #结果:% q2 r6 I1 g8 f5 e
- #dict_values([3, 1, 2, 2, 3])
) B% U\" ]+ X' O: {7 D1 j+ ~ - % Z3 o( h9 w* o4 U p- m
- print(sorted(dic.items(), key=lambda s: (-s[1])))
2 N/ p7 ~8 x) s7 j4 B! m# q - #结果:按统计次数降序排序4 F/ G0 T: o: f9 q9 r
- #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]
$ K6 g6 _- ^, z - 3 |0 f/ ^) y\" U
- for i, v in dic.items():
. A1 R, }, J( @0 u - if v == 1:. J; ~1 a/ F$ f' ?5 b, P
- print(i)! z. U+ v |* _7 ?' _* J, V3 p
- #结果:4 Q\" Z9 X0 w% I# G/ B
- #b
# a7 P' k# r% u
复制代码
/ D6 y; a1 F) y2 J* f1 B2 v J6 `2 {
s+ D% x2 C! f9 T4 @0 ? |
zan
|