- 在线时间
- 481 小时
- 最后登录
- 2026-8-25
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7859 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2946
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1177
- 主题
- 1192
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter) u2 e; u4 A5 e1 ]% S, a) Z/ {% A* r
dict的子类,计算可hash的对象8 u* {4 H1 Z+ { u
请点击Counter
+ i4 H! E! ^& t0 ^6 X s. z Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。, O3 f' h: d" l6 A" j% y: B
- from collections import Counter& u2 x4 E* x\" m
( O; z; M7 r, Z Z- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]8 e4 k6 D- x- c) s. ]
- dic = Counter(list1)! e' y\" C% F3 V: S% d U: Q2 j
- print(dic)
* J7 t! S+ D; [2 u# D! Q: ] - #结果:次数是从高到低的% N0 Z* X2 V6 | f6 H\" M+ y
- #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})+ d# p; ]2 z( i8 o
9 K$ _\" J0 J' Y8 W* D& Z1 r5 e- print(dict(dic))7 j) E& `% {/ y7 a1 |. ~
- #结果:按字母顺序排序的 j' l3 ^3 \% B
- #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}+ x: q* M- ?. V1 r; U/ \
- 6 T) c/ T9 i n+ q) i0 ?
- print(dic.items()) #dic.items()获取字典的key和value. m* q5 O' L& W* R8 R }
- #结果:按字母顺序排序的! x1 X; k0 K. o. u: G
- #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])
& b( v, H0 b% p. i- `
0 ^, L: N! A\" v- m- print(dic.keys())
) f; X Q5 W! X\" R) G& ]6 f- B - #结果:
' a0 q\" I3 S( o* \6 [; N - #dict_keys(['a', 'b', 'c', 'f', 'g'])$ |- i0 f3 V- H- z- X
0 c! t8 b5 m8 D- Q% n- print(dic.values())
5 j\" E# [* b5 d; }: D( a/ [% E - #结果:4 z1 t2 h4 g9 _ Y1 d$ P
- #dict_values([3, 1, 2, 2, 3])
g2 I) ?( X3 \
7 t2 {8 C. p4 V- print(sorted(dic.items(), key=lambda s: (-s[1])))
+ c! R, e9 q* u+ P( u0 H M/ y - #结果:按统计次数降序排序5 }2 [; x5 [ c3 x
- #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]& J* F+ e1 c1 ^: ]
- 2 F6 D: ]1 a. _6 i; X# N
- for i, v in dic.items():
7 l7 x; M\" \% M0 i, n\" G2 t2 ?, D7 p - if v == 1:, R o0 s: F/ p; w$ R3 U
- print(i)
' C# M1 } L; x; u- d! V1 o - #结果:
8 q7 v\" S5 T\" M. H8 P - #b
7 F+ J' V\" F9 B4 V ], O
复制代码
3 y% w# w* z4 T; R6 |6 Y5 E4 B
$ g3 W8 f. L, c9 N$ f" h4 J6 w6 B |
zan
|