- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)
, Z- k8 j2 h& ^) x7 D7 Fdict的子类,计算可hash的对象
% Z8 R- R* ^5 q) L' ?4 ?请点击Counter
0 g9 Q& v' b- M2 A: t Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。
\) T1 ^. U4 s, y% j - from collections import Counter
/ j& T, O% l\" | V- B7 V\" ?! Z - # A\" P! X& L8 {2 e! ?9 M
- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]
6 K$ e& M# f- I% T - dic = Counter(list1)- ?\" p* ^; ^9 C) I
- print(dic)* O) Y) r# F# b1 x: o( W7 n+ d7 k
- #结果:次数是从高到低的# P1 t# \; Q* U/ l. }8 K
- #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})
\2 |6 j- A5 E; g5 P
! Y$ a. r4 U/ f; |8 x\" Y4 r6 O# C- print(dict(dic))6 t. a# U, [2 X5 h
- #结果:按字母顺序排序的) ]+ M2 a9 j\" Z+ o' D, b7 w2 x
- #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}$ F\" T1 I2 @- r* }
: w) _+ f- F* s! f- print(dic.items()) #dic.items()获取字典的key和value( R% z8 I2 n3 l
- #结果:按字母顺序排序的
7 h' c2 N( x8 E! t# M - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])
9 b. z) u: f4 g m, m( d
) p8 ~% \. d0 x8 N- print(dic.keys())
5 t1 r4 s$ b2 J/ n0 I, P0 ^ - #结果:5 a, c& e# s8 \7 G x% g
- #dict_keys(['a', 'b', 'c', 'f', 'g']); |- f( S+ r0 F\" o' d( n6 l
. e/ i! ]; x. p, u; k- print(dic.values())4 o- ~) ^' [5 `1 q4 e
- #结果:2 A( ~6 \5 O1 x9 D
- #dict_values([3, 1, 2, 2, 3])' S, o( @( |1 E1 v
\" g8 ]8 R4 E% R2 U6 S. C- print(sorted(dic.items(), key=lambda s: (-s[1])))' j6 o, @0 J0 E\" i\" i- L# V! b
- #结果:按统计次数降序排序, I; _& q9 j) ~; Y& H/ h4 e
- #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]9 ?7 q* y\" p5 C/ j/ g1 f6 f
' E* }4 |, X% ?$ `1 e- for i, v in dic.items():8 U# _5 ~. m. h3 [% ^
- if v == 1:
; p7 o5 L& c% i: y2 } - print(i)0 A3 B& s) g( I/ l/ X, q
- #结果:: F' @4 o6 u, h1 \) |6 Y
- #b: g- y' V n4 G0 U' C. @0 m
复制代码 - k9 f( M5 |9 T9 Z5 w1 L
3 k1 u: Z2 p# O% p* m! D& p8 \ |
zan
|