- 在线时间
- 479 小时
- 最后登录
- 2026-4-17
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7790 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2923
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter), H$ a! d, j q
dict的子类,计算可hash的对象
$ ^8 I' [7 @7 h2 ]) L) I请点击Counter
2 G! N) v7 Y7 K0 X9 t2 F Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。! ~9 A3 ^. T8 T. q4 ]' R
- from collections import Counter1 I2 Z I3 |! s5 K3 M* j
- , O, z l+ a& ~% x
- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]
2 \$ M4 b& w/ |0 ^) E - dic = Counter(list1)
: a7 I5 Z/ G: M5 g- r - print(dic)
2 @$ }8 X8 y# Z/ [ - #结果:次数是从高到低的
) C( ^8 \/ ] v1 G - #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})
9 ^. M7 [\" b6 j4 }: ?
8 @% A8 {8 e$ ~2 i6 M- print(dict(dic))
3 l `' _% x7 a2 | |2 ` - #结果:按字母顺序排序的
5 g5 Q9 `- Q5 Y2 g* m! C - #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}
: {+ {- V8 M* w2 B3 h
3 ^8 g8 F& i# R. j8 e- print(dic.items()) #dic.items()获取字典的key和value9 D& l Q, u P0 B$ G- M
- #结果:按字母顺序排序的
8 R$ J) _1 K6 t\" i - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)]). J+ {( |6 k4 G: m! q; e7 Y/ ?
- 6 L) ~) w) N+ s- e$ j* P6 ?
- print(dic.keys())
8 B. R, ^3 g' S - #结果:5 r. w% Y\" [, ], v% S- z/ Y
- #dict_keys(['a', 'b', 'c', 'f', 'g'])0 s: b5 q$ N- I' }$ ]
- 8 v1 [+ h+ p, a+ E% W5 x% |0 R
- print(dic.values())% ]5 Y9 z2 L; G, h* q
- #结果:$ i: t5 G) e7 g5 R% b' J
- #dict_values([3, 1, 2, 2, 3])
2 r4 G: v/ X! c+ b! A3 z8 }
( }( O) t7 G( y- print(sorted(dic.items(), key=lambda s: (-s[1])))
1 [5 R- ^9 F* | - #结果:按统计次数降序排序
+ x, t1 X1 d' ?2 z% y* u - #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]3 V n\" K- M9 b
- 6 C- v1 B3 n1 ]) g9 |
- for i, v in dic.items():
5 ~' v$ Z% J6 u - if v == 1:1 u# t- j# b8 c7 |: {2 H1 W
- print(i)
! |8 j S+ t- h9 q9 z - #结果:0 A& h) p5 g( ?/ O
- #b. ]2 G/ U* b. ]/ p* P$ ]9 ]/ G
复制代码 ; a$ ~8 v1 e- U d# w4 Y
$ t$ I0 ^( O" `( }/ F6 ^' \" `
|
zan
|