1 2 3 4 5 6 7 8 9 10 11 12 13 | def orig(): yield 1 print("you don't see it if orig() is called via wrapper()") yield 2 def wrapper(): for i in orig(): yield i break print(list(wrapper())) # -> [1] print("the point is wrapper yields one item at a time") print(list(orig())) # -> [1, 2] |
ZGVmIG9yaWcoKToKICAgIHlpZWxkIDEKICAgIHByaW50KCJ5b3UgZG9uJ3Qgc2VlIGl0IGlmIG9yaWcoKSBpcyBjYWxsZWQgdmlhIHdyYXBwZXIoKSIpCiAgICB5aWVsZCAyCgpkZWYgd3JhcHBlcigpOgogICAgZm9yIGkgaW4gb3JpZygpOgogICAgICAgIHlpZWxkIGkKICAgICAgICBicmVhawoKcHJpbnQobGlzdCh3cmFwcGVyKCkpKSAjIC0+IFsxXQpwcmludCgidGhlIHBvaW50IGlzIHdyYXBwZXIgeWllbGRzIG9uZSBpdGVtIGF0IGEgdGltZSIpCnByaW50KGxpc3Qob3JpZygpKSkgIyAtPiBbMSwgMl0=
-
upload with new input
-
result: Success time: 0.02s memory: 5852 kB returned value: 0
[1] the point is wrapper yields one item at a time you don't see it if orig() is called via wrapper() [1, 2]


