Python 匹配案例:检查未知长度的可迭代对象中的类型

Python Match Case: checking for types inside of iterable of unknown length

提问人:Ernest Klimann 提问时间:10/7/2023 最后编辑:Ernest Klimann 更新时间:10/7/2023 访问量:47

问:

我想使用匹配大小写检查未知长度的可迭代对象(假设列表)仅包含给定类型(假设浮点数)(还有其他情况,只有这种情况给我带来了问题)。

案例 [*elems] if all([isinstance(elem, float) for elem in elems]): 返回编号

这个似乎有效,但真的不是pythony。似乎应该有一种更简单的方法。 你可以帮我吗?

我尝试了 [float()]、list[float()]、list[float] 和 [float(), *elems]。他们都没有做到这一点。

python-3.x 类型检查 迭代解包

评论

1赞 MegaIng 10/7/2023
目前没有更简单的方法内置匹配语法。不使用列表推导式而是将生成器推导式传递给 .您还可以创建 helper 函数 。allall_isinstance

答: 暂无答案