def flatten(nested):
try:
for sublist in nested:
for element in flatten(sublist):
yield element
except TypeError:
yield nested
nested = [1, [2, 3], [4, [5, 6, [7, 8]]]]
array = flatten(nested)
for num in array:
print(num)
array.send('hello world')
本来输出是正常的[1, 2, 3, 4, 5, 6, 7, 8]
为什么加上最后一句array.send("hello wolrd")
之后输出就变成[1, 3, 5, 7]
了呢?send方法只是让yield有一个返回值,应该不影响结果呀