在此question中,有很多方法来测试可迭代项。两个解决方案是:
hasattr(object, '__iter__')
isinstance(object, collections.Iterable)
他们似乎都在做同样的事情,我找不到能使他们与众不同的文档。有什么区别,为什么我要选择一个呢?
答案 0 :(得分:4)
pythonic的方式是
但是,请按常识使用它。也就是说,只有在您有理由相信您的对象在大多数情况下都是可迭代的时,才执行此操作。
也请注意将字符串视为可迭代的字符串,但在大多数实际使用情况下,不应这样做。在这种情况下,做法是显式检查
isinstance(.., str)