为什么这样:
seq = [(1, 2), (3, 4), (5, 6)]
print(() in seq)
Run Code Online (Sandbox Code Playgroud)
回来False?如何在没有特定值的序列中检查是否存在元组,甚至是通用序列,如本答案中所述.
tim*_*geb 25
()是一个空元组.seq不包含空元组.
你要
>>> seq = [(1, 2), (3, 4), (5, 6)]
>>> any(isinstance(x, tuple) for x in seq)
True
Run Code Online (Sandbox Code Playgroud)
对于您可以使用的通用序列
>>> from collections import abc
>>> any(isinstance(x, abc.Sequence) for x in seq)
True
Run Code Online (Sandbox Code Playgroud)
但是,许多对象被非正式地视为序列,但既没有实现完整的协议abc.Sequence定义也没有注册为虚拟的子类Sequence.
阅读此优秀答案以获取更多信息.
您可以在此处找到有关检测序列的问题.
| 归档时间: |
|
| 查看次数: |
1595 次 |
| 最近记录: |