- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)5 ~0 S: a- p% R3 B0 @
dict的子类,计算可hash的对象$ s6 h. T( W% ~7 N- S# F
请点击Counter
" i5 F8 a6 {, I: n) b' P1 _# Q Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。
8 L. F: o! e; Z0 ^$ v - from collections import Counter3 ~8 Z0 |! i( Q: j! Y# U6 t7 \
. Q% q# m) S( O- @, V- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]
# N* ^/ G$ D* F* z* _ - dic = Counter(list1)3 K0 M/ l/ ?& n7 \\" o& {. i5 ]8 f6 `
- print(dic)4 m: k: D3 p# T [\" d# L
- #结果:次数是从高到低的9 L: ^( g& W! P+ A! M7 S
- #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})/ Z1 d! u8 J8 j% \
- 3 G+ y' f# [) S7 i
- print(dict(dic))
' V( ` [* N. ?& ^ - #结果:按字母顺序排序的) U1 Z: Y- ?8 ^5 q8 U4 V
- #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}
2 `$ |# j1 U }: |7 e
9 A\" k; h& H/ k; X! W4 ?6 |3 L, J4 M- print(dic.items()) #dic.items()获取字典的key和value {3 O6 _! t6 Q
- #结果:按字母顺序排序的
4 ^. {# i4 U# Z - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])
( |: H* w. m+ ]9 M3 W/ L. R
3 t* s1 O% k* u$ ^0 c( F m- print(dic.keys())+ q6 G# H# a\" L- V! v( I/ N8 ^& h* V
- #结果:) u/ V% P\" D- J+ E5 s+ p$ R2 u
- #dict_keys(['a', 'b', 'c', 'f', 'g'])1 {. Q2 f5 N8 E _
4 x\" x8 t4 H+ J6 H( i0 r- print(dic.values())3 w3 Q. i: u+ o u/ w\" g
- #结果:, d s6 h# h- I/ C3 }) d
- #dict_values([3, 1, 2, 2, 3])
' K$ x, G* _5 l4 O L9 T3 r\" W! j - 2 J( k- W9 k* C* t
- print(sorted(dic.items(), key=lambda s: (-s[1])))
1 w$ z4 Y5 U3 E4 J( A - #结果:按统计次数降序排序
1 H4 V: G: z$ J2 ^ - #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]
9 l1 B\" r% e1 E2 W7 x
; I' r7 Q+ E& O# u7 o' o- for i, v in dic.items():/ y4 q4 {% r% p( e# q) a
- if v == 1:* g0 \# Y; y7 p4 L
- print(i) g/ |) `: N1 ~3 s
- #结果:0 x+ @( \+ S5 ~7 `3 f3 p
- #b
/ y2 F7 G* r q9 E. m
复制代码 4 ^6 L. t. L0 N7 j9 N
7 n, z+ h/ Y8 g! p |
zan
|