- 在线时间
- 481 小时
- 最后登录
- 2026-8-25
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7859 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2946
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1177
- 主题
- 1192
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)6 T# S# g+ u/ J, r* N3 v. R9 b3 s5 ~
dict的子类,计算可hash的对象
" C2 i/ ]- y3 d请点击Counter
* `/ C- _9 Y2 W6 I4 N3 l4 t Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。
+ Z# ~( O! K6 q' U% X q4 ? - from collections import Counter
- }, y0 ?+ g* A$ I) y\" A3 j3 v1 k e6 v
- f3 \1 H/ h8 w- J# K2 Q. D2 |5 @4 t1 i- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]
2 q- `6 U7 O9 X' |( g2 G5 ` - dic = Counter(list1)
' G* x, Q2 g3 e1 w: H8 S - print(dic)
3 R\" e2 J- C: v/ p' t - #结果:次数是从高到低的$ _# P, \1 u- \0 ]8 P8 A) p
- #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})( ], O& S8 P7 N0 \& ?- w. D
- - q3 N2 c0 ?) W! e
- print(dict(dic))
* w- F, F2 W( `1 j- v' J - #结果:按字母顺序排序的
' F: Q$ C1 y1 Q( F- | - #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}
6 ~1 X( u. q# ?, t
$ w$ l$ c& ~3 k. e& C\" @* u- print(dic.items()) #dic.items()获取字典的key和value
# ~9 Q8 \5 l* |4 @, V - #结果:按字母顺序排序的/ E) @2 U2 p/ f2 T
- #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])2 g; ~' ?( a* X! G/ Y
: `) M) }; }; `8 u6 T4 Y- N- print(dic.keys())
- ?\" u3 h; j/ Y1 @# P - #结果:
$ s+ e. L6 S2 R- @ - #dict_keys(['a', 'b', 'c', 'f', 'g'])2 d+ K; R( e! V$ K% b
4 L6 _8 U* A! j, o. p- k- print(dic.values())' F. }/ a7 ]0 `0 ~' o
- #结果:* y; P6 x; C! Y+ Y( C5 P8 R: ]$ ^
- #dict_values([3, 1, 2, 2, 3])
]* B1 ~6 \* j* N/ k) x
; P9 l2 q; d M' D, Z- print(sorted(dic.items(), key=lambda s: (-s[1])))9 v3 s* _! T3 I. a* w
- #结果:按统计次数降序排序
, m' T z9 O8 E) t- `( J, e - #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]
$ ?& \# L' t8 f) l3 T
$ e* T7 g7 R$ t- W- for i, v in dic.items():
0 p! D5 d `9 a8 ^ - if v == 1:
9 q' g# W1 v$ a# ^4 q - print(i)
' ]) M3 T6 v3 l( ~# n& v - #结果:
2 T l% E2 F1 M2 D0 \, b9 G' G - #b
9 Y- L2 y2 J! x
复制代码
- O M# F* s4 G1 t
# }3 V) M8 X! S |
zan
|