Python中是否有简便方法判断对象为类列表(Sequence而非str)?
判断非字符串序列对象的简洁写法
我目前想到的最简洁易读的写法是:
isinstance(obj, collections.abc.Sequence) and not isinstance(obj, str)
- 查阅collections.abc文档后,发现并没有专门的抽象类型用来指代这类「非字符串的序列对象」。
- 我知道
isinstance支持传入类型元组做批量判断,但可惜它不支持传入用于排除类型的元组。 - 另外,我了解到Union类型有便捷语法糖,比如可以用
int | float这种按位或的方式组合类型,于是尝试了collections.abc.Sequence & ~str的写法,但这并不生效。
内容的提问来源于stack exchange,提问作者LoneCodeRanger
相关产品推荐
相关产品推荐

