python生成器方法send
  • 板块灌水区
  • 楼主cjz13683356870
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/9/26 21:30
  • 上次更新2023/11/4 05:35:01
查看原帖
python生成器方法send
382198
cjz13683356870楼主2021/9/26 21:30
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有一个返回值,应该不影响结果呀
2021/9/26 21:30
加载中...