# Verifica se o número é primo def is_prime(n): if n < 2: return False for i in xrange(2, n): if not n % i: return False else: return True # Gerador de números primos def prime_gen(): i = 1 while True: if is_prime(i): yield i i += 1 # Teste: 10 primeiros primos prime_iter = prime_gen() for i in range(10): print prime_iter.next() from itertools import count # Verifica se o número é primo def is_prime(n): if n < 2: return False for i in xrange(2, n): if not n % i: return False else: return True # Generator Expression primes = (i for i in count() if is_prime(i)) # Teste: 10 primeiros primos for i in range(10): print primes.next() def rgb_lst(): rgb = [] for r in range(256): for g in range(256): for b in range(256): rgb.append((r, g, b)) return rgb def rgb_gen(): for r in xrange(256): for g in xrange(256): for b in xrange(256): yield (r, g, b) import time tt = time.time() l = rgb_lst() print time.time() - tt tt = time.time() for color in rgb_gen(): pass print time.time() - tt def load_csv(fn): try: for line in file(fn): new_line = line.strip() if new_line: yield tuple(new_line.split(',')) except: print 'Ocorreu um erro ao ler o arquivo', fn raise SystemExit # Teste for line in load_csv('teste.csv'): print line