快速问题...
我正在尝试做这样的事情:
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] 删除。
我来说两句