如何检查对象是列表还是元组(而不是字符串)?

  • 问题:
  • 为了确定输入是一个列表/元组,而不是str。因为很多时候我偶然发现了一些bug,其中一个函数错误地传递了一个str对象,而目标函数在lst中对x执行假设lst实际上是一个列表元组

    assert isinstance(lst, (list, tuple))

    我的问题是:有没有更好的方法来实现这个目标?在

  • 答案:
  • 仅在python 2中(而不是python 3)中:

    assert not isinstance(lst, basestring)

    实际上是你想要的,否则你会错过很多类似于列表的东西,但不是listtuple的子类