Función Iterator (iter ()) en Python.
Para el diccionario, puedo usariter()
para iterar sobre las teclas del diccionario.
y = {"x":10, "y":20}
for val in iter(y):
print val
Cuando tengo el iterador de la siguiente manera,
class Counter:
def __init__(self, low, high):
self.current = low
self.high = high
def __iter__(self):
return self
def next(self):
if self.current > self.high:
raise StopIteration
else:
self.current += 1
return self.current - 1
¿Por qué no puedo usarlo de esta manera?
x = Counter(3,8)
for i in x:
print x
ni
x = Counter(3,8)
for i in iter(x):
print x
pero de esta manera?
for c in Counter(3, 8):
print c
¿Cuál es el uso deiter()
¿función?
Supongo que esta puede ser una de las formas de cómoiter()
es usado
class Counter:
def __init__(self, low, high):
self.current = low
self.high = high
def __iter__(self):
return self
def next(self):
if self.current > self.high:
raise StopIteration
else:
self.current += 1
return self.current - 1
class Hello:
def __iter__(self):
return Counter(10,20)
x = iter(Hello())
for i in x:
print i