- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)
" ], w0 g5 l( h7 Ldict的子类,计算可hash的对象
7 q! U1 N1 w" \! G( b1 d! v请点击Counter0 c5 P5 v; ]0 q# `3 r, x
Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。: W: | C' W6 d4 R' Y$ r3 G
- from collections import Counter
! I5 V; N# u) _$ w0 g$ v% k9 l
- Z8 m9 |0 T$ _9 u4 B' y- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]! T, g1 c6 P$ J
- dic = Counter(list1)
$ m' p8 r7 Q/ O+ I; l% l& \ - print(dic)
9 L3 ?2 }* w9 S0 K. q4 }, _ - #结果:次数是从高到低的
6 ?( [1 g% _, m5 |- k - #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})
5 V8 q) ^: ]' k - ( C2 M4 E$ E: }6 `3 W& v6 Y
- print(dict(dic))
8 f1 n- d6 M7 m1 ~, i, m8 v4 U* c& ~9 @2 a8 K - #结果:按字母顺序排序的- b: O1 G; R* e\" j4 V+ }
- #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}
5 h% Y6 b! I7 C9 Q& }- ]. N
9 _# N3 j# n. O- print(dic.items()) #dic.items()获取字典的key和value8 L, q# z) y- P) ]\" A
- #结果:按字母顺序排序的
3 k8 u! j7 D! \& w\" a# [6 l. ~ - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])% d. S\" v* Z/ t8 W, v# L+ B
- - ?2 | A n\" q; N/ e
- print(dic.keys())0 T) \# T2 c2 m# b
- #结果:. U+ @' _) n! C. x$ E* {; k
- #dict_keys(['a', 'b', 'c', 'f', 'g'])4 M2 n0 C: H! K* c0 v( M
- 8 P( B- o0 e; q* p4 t
- print(dic.values())' r' b% [9 g: x: M; Y$ x
- #结果:/ ^# @! t4 l* P
- #dict_values([3, 1, 2, 2, 3])
8 Q2 ?4 r) t& M5 x\" n\" U
1 ^% v; V/ }8 x& E( a- f. N/ N- print(sorted(dic.items(), key=lambda s: (-s[1])))
& \: K4 }# P7 M: v9 X1 I; F - #结果:按统计次数降序排序! s' |. X3 s7 b: }
- #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]
+ Y& R# J9 v' V7 o+ I - 8 I6 \1 {9 E f
- for i, v in dic.items():
% X5 J6 s1 ^( V% ?# l# D w - if v == 1:
( t, `3 v& L3 ]2 T - print(i)3 q/ @/ r1 ?. y6 q
- #结果:
. ?) L6 W' X6 v _: U! O6 \ - #b0 ?5 w0 O/ o, g
复制代码 ( |& F( X+ i l8 f
: S' @$ \3 n9 M) c |
zan
|