刚刚在 Python 中遇到了一点点怪异,并认为我会将其 记录为一个问题,以防其他人试图用与我相同的无用搜索词找到答案
看起来元组解包可以做到,因此如果您希望迭代返回值,则不能返回长度为 1 的元组。虽然看起来外表是骗人的。查看答案。
>>> def returns_list_of_one(a):
... return [a]
...
>>> def returns_tuple_of_one(a):
... return (a)
...
>>> def returns_tuple_of_two(a):
... return (a, a)
...
>>> for n in returns_list_of_one(10):
... print n
...
10
>>> for n in returns_tuple_of_two(10):
... print n
...
10
10
>>> for n in returns_tuple_of_one(10):
... print n
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>>