- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)( W" _( ]+ x# s Z1 K6 k4 ~+ b
dict的子类,计算可hash的对象
7 e, {& Y ]& S( m% B9 c1 X请点击Counter W m8 l+ X! |* D+ h2 g
Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。
% g0 y7 h D9 @ - from collections import Counter: Q$ D3 s4 q\" s2 T& I3 h+ V' c5 x\" M
0 {! I9 ~# [ {& i( o) ~- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]
. t+ ?0 }: R\" U9 H - dic = Counter(list1)( K. P/ R1 V. O5 w
- print(dic)
4 g R\" L* X/ d2 M1 }7 p8 m - #结果:次数是从高到低的! z\" j- L0 ]* D H\" U
- #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})
! J& N7 D4 w' j: ^% p& ?
e8 f5 _% L0 s- print(dict(dic)) J! r- ~( v6 _4 I
- #结果:按字母顺序排序的
6 \\" j' J4 k: x5 _; } - #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}
8 O L- @# }/ T! T4 H, r
/ x, [1 i! E( V0 b, v' o! S% [0 K- print(dic.items()) #dic.items()获取字典的key和value( S& v* _; P6 g/ @
- #结果:按字母顺序排序的
6 ^6 ~5 p; J: d/ M4 T* s+ n - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])\" }, i5 Y7 b6 w: n
) Y. B4 e3 E ?5 M5 E- print(dic.keys())
: _ d$ C' O( C9 z - #结果:
\3 e5 g2 q1 d! @ - #dict_keys(['a', 'b', 'c', 'f', 'g'])6 }) Z9 [0 x1 O! @ X. G4 F
- $ K' Y$ T. E. r( ?1 x H$ g
- print(dic.values())
+ K8 \' l! }2 X - #结果:
, O\" d# Z' X* L/ _5 G - #dict_values([3, 1, 2, 2, 3])
5 J5 x$ p Y5 n - & O8 e4 M: K: A
- print(sorted(dic.items(), key=lambda s: (-s[1])))
/ J$ D6 q: |8 V9 p* r% j7 V - #结果:按统计次数降序排序
\" U- O: D S* _\" k- u m; ` - #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]
4 \\" n; [; f ~* _: f# T
, H# `% g' w/ P% @- for i, v in dic.items(): y( |\" V2 X$ X5 R* G
- if v == 1:
8 \: b8 ^8 M1 |! E/ h) B# ~! E- I - print(i)+ k. o0 ~- G& N5 K- s; [8 ?
- #结果:
# n9 S\" i4 e' j6 q: W) J - #b0 i5 W; Q- u2 z$ E
复制代码
" N0 ]: R$ G ^6 w9 V' \; e8 |
" {3 Q4 I% ]! R0 G3 T/ m5 l |
zan
|