在Python中,如何指定参数为所有元素具有相同类型的列表?

何塞·萨尔瓦蒂拉

快速问题...

我正在尝试做这样的事情:

from typing import List


def reverse_list(original: List) -> List:
    return original[::-1]

如果传递这样的内容[1, 3, "a", 10]我想得到警告:因为并非所有元素都具有相同的类型。

我想接受["c", "a", "b"][1, 8, 2]—并且让Python知道返回值将是字符串列表或整数列表。

这可行吗?我感觉不是。

谢谢!

澳元

那就是我想出的

def check_if_mix(list_: List):
    first_type = type(list_[0])
    return any(not isinstance(i, first_type) for i in list_)

check_if_mix([1,2,3])
>>>False

check_if_mix([1,2,"a"])
>>>True

因此,如果您想在有混合类型的情况下得到警告,最简单的方法是在反转列表之前进行检查:

def reverse_list(original: List) -> List:
    if check_if_mix(original):
        print('WARNING: list contains mixed types')
    return original[::-1]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java Bean验证:如何指定相同类型但具有不同组的多个验证约束?

如何在相同类型的所有已创建对象中将变量设置为相同?

如何遍历具有相同类型的记录类型中的所有元素(记录类型的纯函数迭代器)

在Python中使用Selenium来单击具有相同类名的所有元素

注入具有多个相同类型参数的构造函数

检查所有具有相同类的元素是否被隐藏

如何在Python中为具有不同类型的字典添加类型声明作为值

创建具有与类属性相同类型的列表

如何映射具有相同类型列表的属性

如何从任何jquery对象中获取具有相同类名的所有元素?

如何创建具有相同元素的长度为x的列表?

在创建具有不同数据的Bean列表时,将相同数据应用于相同类型的所有Bean

如何运作?使用“每个”方法检查数组中相同类型的所有元素

除了悬停的元素外,如何为所有相同类型的元素设置样式?

为所有值都具有相同类型的对象定义类型

如何在具有相同类名的ul列表中追加li元素?

在页面上为所有相同类型的类编号

如何将所有元素从枚举列出到相同类型的IEnumerable数组中?

创建具有相同类型参数的类型变量

具有相同类型但名称不同的多个元素?

在 JavaScript 中 - 选择具有相同类的所有元素 - 除了单击一个

从包含所有相同类型字符的数组列表中删除元素

jquery影响具有相同类的所有html元素

添加具有相同类的元素中的所有数字

在纯 JavaScript 中删除具有相同类的所有元素

C++ 17:如何使用参数包来阐明函数中所有具有相同类型的参数的顺序

如何通过js查找具有相同类的所有子元素

我如何从具有相同类的元素中获取所有 aria-label 值

Javascript - 如果列表中已存在具有相同类型的地图,则过滤掉所有地图元素