- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)
' b9 Q' t, }9 s5 @, [) }dict的子类,计算可hash的对象% r; K3 I* ?- G$ @# O# c* G& r. w
请点击Counter
+ ^* Z8 n: [- h Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。
' @3 E; C" P& O. g; Y - from collections import Counter8 S+ V* J c* m2 @0 {
- ) c: _3 C4 F6 O9 H2 y+ n0 }, f
- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"], `: h' k1 C6 p N5 ]9 U! w k
- dic = Counter(list1)
4 l- t2 {. `6 p - print(dic)
: Z( O2 p( u! r# }# f4 i# G - #结果:次数是从高到低的
. @; I4 V+ i: @3 g9 A! s, C - #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})
$ _+ }; f; ~8 j3 M2 `' U2 N; q+ y
4 J. I9 I7 G, @- print(dict(dic))( X0 B5 {; t3 d3 k\" s
- #结果:按字母顺序排序的
/ h, O% J. ]2 e( ^, ? - #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}. U2 P1 V1 Q& m- q6 Q% Q; D
- / L& s4 k3 I- Q; P1 w9 H3 X
- print(dic.items()) #dic.items()获取字典的key和value
. m! |7 U% ^; `/ Q6 ]# a - #结果:按字母顺序排序的
. S# q\" j4 U( ], V' ?2 B5 F - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])! R! |- Q7 `3 B# I, Q: A F9 A, a
; C$ ?2 F0 S( Q; |- print(dic.keys())
0 @\" q3 J6 ?' s7 b9 x( u - #结果:& `, M9 I( W H' \# X
- #dict_keys(['a', 'b', 'c', 'f', 'g'])
5 G) k, W3 M0 { [ - 6 x% P( E8 q' Z, f1 O
- print(dic.values())
! a6 H. m* ]2 b7 e8 R( d9 n - #结果:
: l% h2 m\" L. Z# Y9 Q! _+ A: y* S - #dict_values([3, 1, 2, 2, 3]). @) S3 ` ?, e/ y( B
- & G- e. D, ?1 b/ C
- print(sorted(dic.items(), key=lambda s: (-s[1])))
6 U4 b0 U, P3 M# o - #结果:按统计次数降序排序
1 d9 H4 h# ~6 W7 n4 k$ A - #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]
* m9 O4 H0 j% d - & ^4 Q6 s$ R( U- Z4 H0 `; x
- for i, v in dic.items():+ R% o/ w( \; z& R+ c5 G) j
- if v == 1:
/ L1 Z7 d, T; d) m2 i\" L - print(i)6 s8 r+ }; h2 L2 L' m [
- #结果:; e& a6 B: y( r6 a1 ]
- #b
' R5 H% n+ b' ]7 x, F9 [7 d
复制代码 * p- f+ b' x) m
$ U8 s) P6 t0 j |
zan
|