- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter): j2 |4 R/ o% |& P1 Q4 J
dict的子类,计算可hash的对象
0 ? T3 k, V8 v- E1 ^! U请点击Counter% G5 s( N8 m3 z- P$ w1 F3 w
Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。. w! K C# y/ {7 z/ B* U0 b
- from collections import Counter
$ D; g- m/ A+ U* i
) N5 R5 ] j/ T% Y- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]) l6 i$ J* |) q _6 n w l
- dic = Counter(list1)
+ ^& ]3 z6 s3 i9 @9 _ - print(dic)
. @2 w M! E: v% ?# o3 a - #结果:次数是从高到低的
6 X3 G3 `* @, s' E\" D) D# H - #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})7 O# g, _! `1 ]5 D, X
* Y9 ^4 ]! O6 _% N2 ?- print(dict(dic))3 j, Y% u/ F& W1 C0 u
- #结果:按字母顺序排序的
2 Q6 N+ Q7 Y' X7 r E. O; o: ^7 c& y - #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}
9 r/ K, ~& I# J+ v; W
: @ ]9 o/ V, G/ y0 }& x' k- print(dic.items()) #dic.items()获取字典的key和value
& c) l9 c0 s2 ]3 ^# t4 B - #结果:按字母顺序排序的
9 ^* v5 h+ Y2 q6 z$ ~' H! ~4 T - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])2 a/ Y1 u' U; p5 Z$ h
# F W7 S) o* t5 S8 S7 a- print(dic.keys())
$ E, ]4 F9 E6 \( y. }3 ? - #结果:\" I+ @7 }( c4 W2 O0 X' B6 K
- #dict_keys(['a', 'b', 'c', 'f', 'g']) Y- O9 T9 N) \. ]
- 9 I2 t4 P, b. T/ Y
- print(dic.values())
$ S- v' Y* ]% r' s8 q - #结果:% V# j6 o2 m9 T3 K
- #dict_values([3, 1, 2, 2, 3])
) J3 t1 Y) P: ?! A$ G7 O
7 w8 W* z\" h4 f/ d/ E! k# y, z- print(sorted(dic.items(), key=lambda s: (-s[1])))) q! l3 l5 G% z0 \( d\" R\" Z
- #结果:按统计次数降序排序
' H0 v2 E* l% f% i* N4 C! a - #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]3 L* f4 G/ d% t; C: Y5 f
- & {. [0 [. q\" |/ E9 r
- for i, v in dic.items(): Q: Z; Y \: c( J1 D
- if v == 1: H7 N0 J; ]6 n' _; ^: Z
- print(i) i; e& }3 a8 Q6 A- F, T
- #结果:
A& ]' j+ S) [' G( U) B6 ^, [\" E - #b; H) m, z# R+ Q+ c. G1 t
复制代码
6 J; v/ E: l6 g( S
8 W+ u. u+ K. d6 u: O# q6 z |
zan
|