- 在线时间
- 482 小时
- 最后登录
- 2026-9-11
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7951 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2977
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1183
- 主题
- 1198
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
计数器(Counter)
! a9 z0 z/ ` [dict的子类,计算可hash的对象
( j/ X) h# l' l请点击Counter, s) N2 u* M5 b, [9 {3 a9 Z
Counter()主要功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。! M3 L1 w6 _ X6 \
- from collections import Counter! P, P4 k% j. D
8 ?0 q6 k9 x& y! E: f$ ]) L) ^- list1 = ["a", "a", "a", "b", "c", "c", "f", "g", "g", "g", "f"]
: i' g( k2 p/ c - dic = Counter(list1)
3 k1 F' Z, q. ?* r - print(dic)5 S\" |0 r4 ^, Y\" t* l
- #结果:次数是从高到低的
1 g& b- Q, `. s4 b' h - #Counter({'a': 3, 'g': 3, 'c': 2, 'f': 2, 'b': 1})
. b3 l7 B- L( m0 q\" O5 Q
3 D/ S9 h6 u; A4 \# G+ t- print(dict(dic))2 D7 T6 O7 Y9 n Z
- #结果:按字母顺序排序的; N6 l7 p. T$ d4 m0 B$ w
- #{'a': 3, 'b': 1, 'c': 2, 'f': 2, 'g': 3}2 A; T\" e8 w4 X# z+ M; \/ d* D# D
- , V# L6 w0 ?6 {* W) n/ Q6 `( a
- print(dic.items()) #dic.items()获取字典的key和value
/ @\" A! _( q9 v5 [4 S: l - #结果:按字母顺序排序的
; S' C5 L0 k1 r2 Z - #dict_items([('a', 3), ('b', 1), ('c', 2), ('f', 2), ('g', 3)])% {% l D, d\" N! ~- q
- % K$ h0 `4 C& ?$ b7 E
- print(dic.keys())( ?8 I- H k. t6 f/ u
- #结果:, Q, a\" _% t* u. a i1 D& V
- #dict_keys(['a', 'b', 'c', 'f', 'g'])
( _! O* f5 m7 @ - 8 K c, P G% N9 \7 }( M9 ?
- print(dic.values())
* Q/ c3 A* j. j G/ `) B: _ - #结果:
4 G- Y) S- X; }! O - #dict_values([3, 1, 2, 2, 3])) K+ s. f# C2 j+ A0 n+ u: I
1 U, ~, V% l3 V& P5 h. k( D! K- print(sorted(dic.items(), key=lambda s: (-s[1])))
% p4 O9 D! n, T8 O - #结果:按统计次数降序排序2 J4 u, J4 m8 o/ w$ a
- #[('a', 3), ('g', 3), ('c', 2), ('f', 2), ('b', 1)]\" J) l) t& D1 c0 @3 k\" Y2 F
' T* C' y5 V' T8 e1 b0 v- for i, v in dic.items():
' D5 R( z5 E$ c: b% i - if v == 1: B0 T) [4 [- b
- print(i)
* m+ f! i R: O* t7 M* j - #结果:, N\" I# o$ j1 r9 z
- #b
\" V m5 Y5 Z) ?& e
复制代码
' U4 D' h8 X: }+ @& x/ Y6 W
: I0 ^2 p. D3 v- q" q' ]% @5 b |
zan
|