Junior — Middle
Kādi soļi ir nepieciešami, lai īstenotu savu iterācijas mehānismu datu kolekcijā?
sobes.tech AI
Atbilde no AI
Lai īstenotu savu iterācijas mehānismu Python kolekcijā, jums jādefinē iterators objekts, kas īsteno metodes __iter__() un __next__().
Galvenie soļi:
- Izveidojiet kolekcijas klasi, kas īsteno metodi
__iter__(), kas atgriež iteratoru. - Izveidojiet iteratora klasi, kas saglabā pašreizējās pozīcijas stāvokli un īsteno metodi
__next__(), kas atgriež nākamo elementu vai izmetStopIterationbeigās.
Piemērs:
class ManaKolekcija:
def __init__(self, data):
self.data = data
def __iter__(self):
return MansIterator(self.data)
class MansIterator:
def __init__(self, data):
self.data = data
self.index = 0
def __next__(self):
if self.index < len(self.data):
rezultāts = self.data[self.index]
self.index += 1
return rezultāts
else:
raise StopIteration
# Lietošana
col = ManaKolekcija([1, 2, 3])
for item in col:
print(item)
Tādējādi jūs izveidosiet savu iteratoru, ko var izmantot for ciklos un citās konstrukcijās, kas strādā ar iteratoriem.