{site_name}

{site_name}

🌜 搜索

Python中的类型标注泛型是指可以在类型标注中使用参数化类型,以表示通用的数据类型

Python 𝄐 0
python标准类库
Python中的类型标注泛型是指可以在类型标注中使用参数化类型,以表示通用的数据类型。

Python标准库中的多项集(collections)模块提供了许多方便实用的数据结构。其中包括了多项集类型Counter。

在Python 3.5及以上版本中,可以使用类型标注泛型来声明Counter对象的key和value的类型。例如,一个Counter对象中的元素都是字符串类型,则可以使用以下声明:

python
from typing import Counter
c: Counter[str] = Counter()


这里的Counter[str]就是一种类型标注泛型,它表示Counter对象中的元素都是字符串类型。注意,在Python 3.9及以上版本中,可以使用内置的泛型类型collections.Counter代替上述导入语句。

以下是一个完整的示例程序,展示如何使用类型标注泛型来创建并操作一个Counter对象:

python
from typing import Counter

# 创建一个Counter对象,并向其中添加若干元素
c: Counter[str] = Counter()
c.update(['apple', 'banana', 'apple', 'orange', 'banana', 'pear'])

# 访问Counter对象中的元素
print(c['apple']) # 输出2,表示'apple'出现了两次
print(c['cherry']) # 输出0,表示'cherry'没有出现过

# 迭代Counter对象中的元素
for item, count in c.items():
print(item, count)


输出结果如下:


2
0
apple 2
banana 2
orange 1
pear 1