- 在线时间
- 481 小时
- 最后登录
- 2026-8-25
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7859 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2946
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1177
- 主题
- 1192
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)8 U: q& \( N$ |2 K
dict的子类,计算可hash的对象
# G4 ~3 C: s6 R2 P$ t" O请点击Counter4 R# L) l1 E; l: k) ], `3 o
Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。
& X7 o p$ Z9 S/ I. q2 ~ - from collections import Counter; U1 [' Q3 M( x0 t
- $ Q; I* q& y* U. n1 ~* y9 r
- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]
. |% y. l+ d: L/ r - dic = Counter(list1)\" l* f& ?3 z+ U
- print(dic)
$ L0 u\" C0 j% G8 T - #结果:次数是从高到低的$ Y\" A8 @ W. @
- #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})3 U) d; @) _, T( M7 R3 u
- 0 n( `8 z( v# V: t\" h! S3 C O8 u, b3 H, f
- print(dict(dic))
7 F1 ?1 u. D4 D8 t - #结果:按字母顺序排序的
) v- ^6 _. t; e - #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}
! r! B5 y0 a/ `
2 S4 y6 F6 C7 W) S9 p- print(dic.items()) #dic.items()获取字典的key和value5 b8 p* E3 s h3 ^5 L) w+ q; I
- #结果:按字母顺序排序的+ p K# V; c\" ~$ g
- #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])
Q/ r\" X$ y, m
' w; \& A, ^8 F) E; t; |: L/ ^# W- print(dic.keys())$ f3 i r; G6 c. j4 o+ Z7 J
- #结果:9 [' V7 h6 ^2 T2 f2 ]$ _7 j# d, F n
- #dict_keys(['a', 'b', 'c', 'f', 'g']). u: Z( Y2 g7 r- a* j
- . k$ l# H! s* d1 ^- ]
- print(dic.values())
1 }) H( U# w\" ?; V9 ^+ u* G - #结果:. N& W2 X& E9 k* S Z3 X4 C* }7 V9 i
- #dict_values([3, 1, 2, 2, 3])
+ t: r4 T4 p, ?0 c
3 p: z6 a3 ]7 N\" a2 W7 U. ~- print(sorted(dic.items(), key=lambda s: (-s[1])))' ~' C: Q4 m$ ], D g( n
- #结果:按统计次数降序排序
3 v* e& g7 T/ r: |% Y - #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]
\" L! f4 B' p1 R; ~ - : R: @9 y8 q- H: ~0 [, d( i$ e
- for i, v in dic.items():
* r9 n: g6 H3 P. y0 y E. Q - if v == 1:) D/ i. a$ } |7 s0 z0 H$ \0 r
- print(i)5 y# G- M$ O5 u$ h+ w. a8 g0 B4 V
- #结果:8 Y p) B0 L0 H8 p* Y( A
- #b, E1 T3 z' {# A( R, q+ J
复制代码 % z j) r7 m! r5 t' }& {
( ]2 H' S+ u) o2 ?4 P; z& z
|
zan
|