- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)! H+ ]7 V! Z/ }& p# R4 {
dict的子类,计算可hash的对象' l2 I% m- x/ U/ o& B) E# r
请点击Counter
) r0 h1 |3 g8 y- R \0 v. m$ ~' ^) G Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。
0 o* G1 R7 x+ G2 [ C9 R - from collections import Counter* {( G/ [/ O/ b+ o6 w
' k\" w' h+ e- ~0 ^4 `0 U( \- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]
% |8 R' Y7 e3 q+ Y; P- j% D - dic = Counter(list1)7 P5 E: `( M% [- Q1 s8 o f# V8 t
- print(dic)
* O' O3 ^- [( d2 S2 k8 E, ^ - #结果:次数是从高到低的3 F: u5 i1 f\" j7 F. K/ M
- #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})
1 e! ^\" z) a, H, y' X9 ~: f8 c
0 l8 g# D* f1 X6 O0 P& y# P- print(dict(dic)); d$ \# ^- R; _3 b5 W' t
- #结果:按字母顺序排序的+ X4 i4 k- F( E4 e `7 x3 e
- #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}
6 B1 S1 O5 k8 m' H( |$ x. u
) O0 X4 U o @& g- print(dic.items()) #dic.items()获取字典的key和value
) a' C% `; E3 ?3 w: x* N - #结果:按字母顺序排序的. r( ^' y: U7 i1 a k, E
- #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])& N- N8 r# W; C6 W) |) v
: [( H: t; `/ f6 x1 U- print(dic.keys())
1 q' y! H M) U! C0 F* ` - #结果:
: m9 G; w5 k. b& z% A - #dict_keys(['a', 'b', 'c', 'f', 'g'])
% D# ^$ C2 H6 D' h6 Z j - $ P3 p; G( U7 Y1 h! T: M' P\" W
- print(dic.values())
% u+ l9 ]; Q- M) [: b9 x8 ^: D - #结果:( ~- G$ }5 i2 V
- #dict_values([3, 1, 2, 2, 3])) t) F( F$ _+ q\" h( V. p
- & I( x* n; \+ L' n
- print(sorted(dic.items(), key=lambda s: (-s[1])))6 \) k4 ~1 @; u- M, M; e; @
- #结果:按统计次数降序排序3 c k* a7 [\" \& K) @0 q. S- _
- #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]0 w\" Y& x: V0 M/ W
- / b: s\" L+ ]. r; c
- for i, v in dic.items():
9 i, S: G' L0 }# |4 I0 U - if v == 1: t2 f3 t3 K/ @* @
- print(i)% e+ U9 ]) P6 J \: u
- #结果:& s; s' J9 m9 g/ I* u! V/ Z
- #b
; }- J0 p+ x; t1 t
复制代码 9 {, ?$ ~8 w$ ~: f
8 ^9 R6 p4 Y1 R& y4 |: }4 ^ |
zan
|