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=