1.11 对切片命名

内置的slice()函数可以创建一个切片对象。

1
2
3
items = [0,1,2,3,4,5]
print(items[1:3])
print(items[slice(1,3)])

两者的输出相同。

1.12 找出序列中出现次数最多的元素

collections模块中的Counter类正是为此类问题设计的。

Counter 是 Python collections 模块中的一个类,用于计数可哈希对象。它是字典的一个子类,其中元素作为键,它们的计数作为值。Counter 可以用来计算值出现的次数。

Counter 类的一些主要特性和用法包括:

  • 计数元素:可以从一个可迭代对象或映射对象初始化 Counter 对象,计算各元素出现的次数。
  • 元素方法elements() 方法返回一个迭代器,包含每个元素重复出现次数的所有元素。
  • 最常见元素most_common([n]) 方法返回一个列表,包含 n 个最常见元素及其计数,按计数降序排列。
  • 更新计数:可以使用 update() 方法从另一个可迭代对象或映射对象添加计数。
  • 数学运算Counter 支持各种数学运算,如加法、减法、交集和并集。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from collections import Counter

# 创建一个 Counter 对象
cnt = Counter(['red', 'blue', 'red', 'green', 'blue', 'blue'])

# 打印元素计数
print(cnt)

# 输出最常见的元素
print(cnt.most_common(2))

# 更新计数
cnt.update(['blue', 'red', 'green'])
print(cnt)

# 示例输出:
# Counter({'blue': 3, 'red': 2, 'green': 1})
# [('blue', 3), ('red', 2)]
# Counter({'blue': 4, 'red': 3, 'green': 2})