我有一个函数,可以接受任何可以被索引的变量作为输入,比如列表或元组.我如何在函数的类型提示中指出这一点?

推荐答案

你的方法是接受sequence,所以使用typing.Sequence.这是一个泛型,因此您可以指定序列必须包含的对象类型:

from typing import Sequence

def foo(bar: Sequence[int]):
    # bar is a sequence of integers

引用Python glossary条:

一个iterable,通过__getitem__()特殊方法支持使用整数索引的高效元素访问,并定义了返回序列长度的__len__()方法.一些内置序列类型为liststrtuplebytes.

Python-3.x相关问答推荐

网站抓取:当我使用Chrome DevTools中的网络选项卡时,找不到正确的URL来提供我想要的数据

Pandas :从元组字典创建数据帧

丢弃重复的索引,并在多索引数据帧中保留一个

PythonPandas READ_EXCEL空数据帧

Python VS Code 自动导入路径包含 src

如何将项目添加到Python中具有固定大小的列表列表中

错误:无法为 pyconcorde 构建轮子,这是安装基于 pyproject.toml 的项目所必需的

如何将值映射到具有上限和下限的新列

使用 Python 在特定组的列中设置上限

将名字转换成姓氏、首字母和中间字母的格式

Seaborn:注释线性回归方程

numpy.ndarray 与 pandas.DataFrame

TensorFlow:dataset.train.next_batch 是如何定义的?

Python:在 map 对象上调用列表两次

在python中,如果一个函数没有return语句,它会返回什么?

在 WSL (Ubuntu) 中为 python3 安装 venv

类方法和实例方法同名

TypeError:只有整数标量数组可以转换为标量索引

新项目:Python 2 还是 Python 3?

首次使用后 zip 变量为空