小能豆

如何检查对象是否是列表或元组(但不是字符串)?

py

这是我通常所做的,以确保输入是list/ tuple- 而不是str。因为很多次我偶然发现了这样的错误:一个函数str错误地传递了一个对象,而目标函数却for x in lst认为它lst实际上是listtuple

assert isinstance(lst, (list, tuple))

我的问题是:有没有更好的方法来实现这一点?


阅读 27

收藏
2024-10-10

共1个答案

小能豆

仅在 Python 2 中(不是 Python 3):

assert not isinstance(lst, basestring)

实际上是您想要的,否则您会错过很多像列表一样的东西,但不是list或的子类tuple

2024-10-10