这是我通常所做的,以确保输入是list/ tuple- 而不是str。因为很多次我偶然发现了这样的错误:一个函数str错误地传递了一个对象,而目标函数却for x in lst认为它lst实际上是list或tuple。
list
tuple
str
for x in lst
lst
assert isinstance(lst, (list, tuple))
我的问题是:有没有更好的方法来实现这一点?
仅在 Python 2 中(不是 Python 3):
assert not isinstance(lst, basestring)
实际上是您想要的,否则您会错过很多像列表一样的东西,但不是list或的子类tuple。