Re: Iterator instances not independent

Roel Schroeven <[email protected]> Mon, 8 Dec 2025 10:25:31 +0100
Newsgroups gmane.comp.python.tutor
Message-ID <[email protected]>
T3AgNy8xMi8yMDI1IG9tIDIyOjQxIHNjaHJlZWYgRnJhbmNpcyBCZWxsaXZlYXUgdmlhIFR1dG9y
Og0KPiBIZWxsbyBhbGwuDQo+DQo+IEkgY3JlYXRlZCBhIFNlcXVlbmNlSW50IGNsYXNzIGZvciBp
dGVyYXRpb24gYnV0IGRpZmZlcmVudCBpbnN0YW5jZXMgZG8gbm90IHNlZW0gaW5kZXBlbmRlbnQu
ICBUaGUgY29kZSBsb29rcyBsaWtlOg0KPg0KPiBjbGFzcyBTZXF1ZW5jZUludDoNCj4gICAgICBk
ZWYgX19pbml0X18oc2VsZiwgbGFzdD0xMCk6DQo+ICAgICAgICAgIHNlbGYudmFsID0gMA0KPiAg
ICAgICAgICBzZWxmLkxBU1QgPSBsYXN0DQo+DQo+ICAgICAgZGVmIF9faXRlcl9fKHNlbGYpOg0K
PiAgICAgICAgICBzZWxmLnZhbCA9IDANCj4gICAgICAgICAgcmV0dXJuIHNlbGYNCj4NCj4gICAg
ICBkZWYgX19uZXh0X18oc2VsZik6DQo+ICAgICAgICAgIGlmIChzZWxmLmhhc05leHQoKSk6DQo+
ICAgICAgICAgICAgICBzZWxmLnZhbCArPSAxDQo+ICAgICAgICAgIGVsc2U6DQo+ICAgICAgICAg
ICAgICByYWlzZSBTdG9wSXRlcmF0aW9uDQo+ICAgICAgICAgIHJldHVybiBzZWxmLnZhbA0KPg0K
PiAgICAgIGRlZiBfX2xlbl9fKHNlbGYpOg0KPiAgICAgICAgICByZXR1cm4gc2VsZi5MQVNUIC0g
c2VsZi52YWwNCj4NCj4gICAgICBkZWYgaGFzTmV4dChzZWxmKToNCj4gICAgICAgICAgcmV0dXJu
IGJvb2wobGVuKHNlbGYpKQ0KPg0KPiBUaGUgbWFpbiBib2R5IG9mIHRoZSB0ZXN0IGFwcGxpY2F0
aW9uIGxvb2tzIGxpa2U6DQo+DQo+IHNlcUEgPSBTZXF1ZW5jZUludCgpDQo+IHNlcUIgPSBTZXF1
ZW5jZUludCg1KQ0KPiBpdEIgPSBpdGVyKHNlcUIpDQo+IGl0QSA9IGl0ZXIoc2VxQSkNCj4NCj4g
Zm9yIHggaW4gc2VxQToNCj4gICAgICBpZiAoc2VxQi5oYXNOZXh0KCkpOg0KPiAgICAgICAgICBi
U3RyID0gc3RyKG5leHQoaXRCKSkNCj4gICAgICBlbHNlOg0KPiAgICAgICAgICBiU3RyID0gImRv
bmUiDQo+ICAgICAgcHJpbnQoIkEgPSIsIG5leHQoaXRBKSwgIkIgPSIsIGJTdHIpDQo+DQo+IFRo
ZSBvdXRwdXQgbG9va3MgbGlrZToNCj4NCj4gQSA9IDIgQiA9IDENCj4gQSA9IDQgQiA9IDINCj4g
QSA9IDYgQiA9IDMNCj4gQSA9IDggQiA9IDQNCj4gQSA9IDEwIEIgPSA1DQo+DQo+IFRoZSBxdWVz
dGlvbiBpcyB3aHkgZG9lcyBBIGluY3JlbWVudCBieSAyPw0KQSBpbmNyZW1lbnQgZWFjaCBpdGVy
YXRpb24gYmVjYXVzZSBvZiB0aGUgZm9yLXN0YXRlbWVudCwgcGx1cyBpdCANCmluY3JlbWVudHMg
ZWFjaCB0aW1lIGJlY2F1c2Ugb2YgbmV4dChpdEEpLg0KPiBBcmVuJ3QgdGhlIHR3byBpdGVyYXRv
cnMgaW5kZXBlbmRlbnQgb2YgZWFjaCBvdGhlcj8NCml0QSBhbmQgaXRCIGFyZSBpbmRlcGVuZGVu
dCBvZiBlYWNoIG90aGVyLiBJbiBmYWN0IGlmIHlvdSBjb21wbGV0ZWx5IA0KcmVtb3ZlIHNlcUIg
YW5kIGl0QiBmcm9tIHlvdXIgcHJvZ3JhbSwgQSBzdGlsbCBpbmNyZW1lbnRzIGJ5IDIgZWFjaCB0
aW1lLg0KDQpCdXQgc2VxQSBhbmQgaXRBIGFyZSBub3QgaW5kZXBlbmRlbnQgb2YgZWFjaCBvdGhl
ci4gVGhhdCdzIGJlY2F1c2UgeW91ciANCl9faXRlcl9fKCkgbWV0aG9kIHJldHVybnMgc2VsZi4g
VGhhdCdzIHBlcmZlY3RseSBPSywgZS5nLiBmaWxlIG9iamVjdHMgDQp3b3JrIGxpa2UgdGhhdCB0
b28uIEJ1dCBpdCBkb2VzIGhhdmUgdGhlIGltcGxpY2F0aW9uIHRoYXQgaXRlcmF0b3JzIGFyZSAN
Cm5vdCBpbmRlcGVuZGVudCBvZiB0aGUgb2JqZWN0IHRoZXkgYXJlIG1hZGUgZnJvbS4gSWYgeW91
IHdhbnQgaXRlcmF0b3JzIA0KdG8gYmUgaW5kZXBlbmRlbnQgZnJvbSB0aGUgb2JqZWN0IHRoZXkg
aXRlcmF0ZSBvdmVyLCB5b3UgaGF2ZSB0byBtYWtlIGEgDQpuZXcgb2JqZWN0IGluIF9faXRlcl9f
KCkgd2hpY2ggaXMgc29tZWhvdyBjYXBhYmxlIG9mIGl0ZXJhdGluZyBvdmVyIHlvdXIgDQpvYmpl
Y3QsIGFuZCByZXR1cm4gdGhhdC4NCg0KSSB3b3VsZCBzYXkgdGhlIG1haW4gaXNzdWUgaGVyZSBp
cyB1c2luZyBzZXFBIGluIHRoZSBmb3Itc3RhdGVtZW50IGFuZCANCmF0IHRoZSBzYW1lIHRpbWUg
Y2FsbGluZyBuZXh0KGl0QSkgaW4gdGhlIGJvZHkgb2YgdGhlIGxvb3AuIE5vdGUgdGhhdCANCm5l
eHQoaXRBKSBkb2Vzbid0IG9ubHkgcmV0dXJuIHRoZSBuZXh0IGl0ZW0sIGl0IGFsc28gaGFzIHRo
ZSBzaWRlIGVmZmVjdCANCm9mIGFkdmFuY2luZyB0aGUgaXRlcmF0b3IgdG8gdGhhdCBuZXh0IGl0
ZW0uIEluIGdlbmVyYWwgdG8gaXRlcmF0ZSBvdmVyIA0Kc29tZXRoaW5nLCB5b3UgaGF2ZSBzb21l
IG9wdGlvbnM6DQoNCi0gVXNlIGEgZm9yLXN0YXRlbWVudCwgYW5kIGRvbid0IGNhbGwgaXRlcigp
IGFuZCBuZXh0KCkgeW91cnNlbGYuIFRoaXMgDQppcyB3aGF0IHlvdSBzaG91bGQgdXNlIG1vc3Qg
b2YgdGhlIHRpbWUuDQotIFVzZSBhIGZvci1zdGF0ZW1lbnQsIGFuZCBkbyB1c2UgaXRlcigpIGFu
ZCBuZXh0KCkuIFRoaXMgaXMgZm9yIHNwZWNpYWwgDQpjYXNlcyB3aGVyZSB5b3UgcmVhbGx5IHdh
bnQgdG8gc2tpcCBlbGVtZW50cy4gT25seSB1c2UgdGhpcyB3aGVuIHlvdSANCnJlYWxseSB3YW50
IHRoYXQuDQotIERvbid0IHVzZSBmb3IgKGJ1dCBwcm9iYWJseSBhIHdoaWxlLXN0YXRlbWVudCBp
bnN0ZWFkKSwgYW5kIHVzZSBpdGVyKCkgDQphbmQgbmV4dCgpIG1hbnVhbGx5LiBUaGlzIGlzIGFs
c28gc29tZXRoaW5nIGZvciBzcGVjaWFsIGNhc2VzLCBmb3Igd2hlbiANCnlvdSByZWFsbHkgd2Fu
dCBtYW51YWwgY29udHJvbCBvdmVyIHRoaW5ncy4NCg0KT3IgaWYgeW91IHJlYWxseSB3YW50IGl0
QSB0byBiZSBjb21wbGV0ZWx5IGluZGVwZW5kZW50LCBjcmVhdGUgYSANCnNlcGFyYXRlIGl0ZXJh
dG9yIG9iamVjdCBhbmQgcmV0dXJuIHRoYXQgZnJvbSB0aGUgX19pdGVyX18oKSBtZXRob2QgaW4g
DQpTZXF1ZW5jZUludC4gSXQgc2hvdWxkIGhhdmUgYW4gX19pdGVyX18oKSBtZXRob2QgaXRzZWxm
IHdoaWNoIHJldHVybnMgDQpzZWxmLCBhbmQgYSBfX25leHRfXygpIG1ldGhvZCB0byBhZHZhbmNl
IHRoZSBpdGVyYXRvciAoYW5kIHJldHVybiB0aGF0IA0KbmV4dCBpdGVtKSwgYW5kIHNvbWUgd2F5
IG9mIHRyYWNraW5nIGl0cyBwb3NpdGlvbiBpbiBzZXFBLiBJdCdzIGFub3RoZXIgDQphcHByb2Fj
aCwgYW5kIGdpdmVzIG1vcmUgZmxleGliaWxpdHksIGJ1dCBpdCdzIGFsc28gbW9yZSB3b3JrLiBB
bmQgDQp0aGVyZSdzIHByb2JhYmx5IG5vIG5lZWQgaW4gbW9zdCBjYXNlcy4NCg0KRGl2aW5nIGEg
Yml0IGRlZXBlciwgYSBmb3Itc3RhdGVtZW50IGlzIG1vcmUgb3IgbGVzcyBlcXVpdmFsZW50IHRv
IA0Kc29tZXRoaW5nIGxpa2UgdGhpczoNCg0KdHJ5Og0KIMKgIMKgIGludGVybmFsX2l0ID0gaXRl
cihzZXFBKQ0KIMKgIMKgIHdoaWxlIFRydWU6DQogwqAgwqAgwqAgwqAgPGJvZHkgb2YgdGhlIGxv
b3A+DQogwqAgwqAgwqAgwqAgbmV4dChpbnRlcm5hbF9pdCkNCmV4Y2VwdCBTdG9wSXRlcmF0aW9u
Og0KIMKgIMKgIHBhc3MNCg0KVGhlIGZvci1zdGF0ZW1lbnQgbWFrZXMgaXRzIG93biBpdGVyYXRv
ciwgd2hpY2ggaW4gYSBjYXNlIGxpa2UgeW91ciANClNlcXVlbmNlSW50IGlzIHRoZSBzYW1lIG9i
amVjdCBhcyBpdEEgYW5kIGFsc28gdGhlIHNhbWUgb2JqZWN0IGFzIHNlcUEgDQooYWdhaW4sIGJl
Y2F1c2UgX19pdGVyX18oKSByZXR1cm5zIHNlbGYpLiBuZXh0KGludGVybmFsX2l0KSBpcyBjYWxs
ZWQgDQphdXRvbWF0aWNhbGx5IGJlaGluZCB0aGUgc2NlbmVzIGJ5IHRoZSBmb3Itc3RhdGVtZW50
LCB5b3VyIGxvb3AgYm9keSANCmNhbGxzIG5leHQoaXRBKSB3aXRoIGl0QSBiZWluZyB0aGUgc2Ft
ZSBhcyBpbnRlcm5hbF9pdCwgY2F1c2luZyBpdCB0byANCmluY3JlbWVudCB0d2ljZS4NCg0KLS0g
DQoiSHVtYW4gYmVpbmdzLCB3aG8gYXJlIGFsbW9zdCB1bmlxdWUgaW4gaGF2aW5nIHRoZSBhYmls
aXR5IHRvIGxlYXJuIGZyb20gdGhlDQpleHBlcmllbmNlIG9mIG90aGVycywgYXJlIGFsc28gcmVt
YXJrYWJsZSBmb3IgdGhlaXIgYXBwYXJlbnQgZGlzaW5jbGluYXRpb24NCnRvIGRvIHNvLiINCiAg
ICAgICAgIC0tIERvdWdsYXMgQWRhbXMNCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpUdXRvciBtYWlsbGlzdCAgLSAgVG8gdW5zdWJzY3JpYmUgc2Vu
ZCBhbiBlbWFpbCB0byB0dXRvci1sZWF2ZUBweXRob24ub3JnClRvIHVuc3Vic2NyaWJlIG9yIGNo
YW5nZSBzdWJzY3JpcHRpb24gb3B0aW9uczoKJSh3ZWJfcGFnZV91cmwpc2xpc3RpbmZvLyUoX2lu
dGVybmFsX25hbWUpcwo=