- 在线时间
- 478 小时
- 最后登录
- 2026-4-9
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7788 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2922
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)5 f, b, S% e! s0 _! |
dict的子类,计算可hash的对象
) E8 ?1 U5 L2 d9 i5 f请点击Counter7 k6 ?5 l: X! p; }
Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。1 h& D% h& C4 E' X$ d. U
- from collections import Counter5 Q0 V& \\" A, j2 s
' c/ t/ T) J: ?\" x6 g# z0 b1 Z- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]
4 Q5 G3 u$ C, {9 a - dic = Counter(list1)$ F6 A1 `1 P! p* u' E! L
- print(dic)
, W8 A2 X\" v+ p8 L - #结果:次数是从高到低的
- h8 T( e$ M4 N' W8 f5 _. K- Y& Y! E - #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})
! F6 n+ P/ ?: m/ T2 V! _9 M( n1 Q - 7 h2 ~ c! I. T( x$ C
- print(dict(dic))
8 v f7 w( ~5 |% a! L! ~6 U - #结果:按字母顺序排序的
$ ~! o\" V# q( o8 i4 | - #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}. s9 O: _% @% Z. a
0 W' c7 ?( O8 k1 A& H- print(dic.items()) #dic.items()获取字典的key和value: J0 h' a8 Q8 @& W6 G
- #结果:按字母顺序排序的
' Z. ]6 M2 H6 {2 f2 s% n - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])/ k# W7 b, {3 ^: v& F- [8 b! F4 {8 {
( I! r- V1 W* d9 P- print(dic.keys())
2 R: c% a8 ]/ H' G - #结果:8 D9 E\" w* ~% }9 K/ p$ U6 Z' [1 J
- #dict_keys(['a', 'b', 'c', 'f', 'g'])9 M |* m& z4 E5 B1 q @
- + I4 a f1 |) d4 @8 A6 |9 X
- print(dic.values())
2 ?! R+ @* G/ Y$ @ - #结果:
% ?. |5 u, @1 B\" ?- W - #dict_values([3, 1, 2, 2, 3])
$ j+ a* v; m6 A! v/ i - % j4 @4 }7 \! I; v) [; U
- print(sorted(dic.items(), key=lambda s: (-s[1])))6 |1 S1 C5 i! N8 d
- #结果:按统计次数降序排序5 u) A$ [3 \8 T$ R* z+ F
- #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]
- L) n G\" L* z# c- M
3 }1 }8 A: J$ o( X! a- for i, v in dic.items():
! ~ c* n) {5 [8 T; P$ | - if v == 1:# G\" X' v% m5 P/ h
- print(i)
5 h7 I6 m7 |3 i\" y7 S - #结果:
- y' y5 B- k\" F; `# _: J2 @8 T - #b
1 d% L- a$ d/ ^; V' y5 T
复制代码
3 ^$ d2 c$ K/ ~4 I- p9 ~7 R
1 {: B4 ^; a3 W2 _$ d- U |
zan
|