1. 斐波那契 from itertools import islice def fib(): a, b = 0, 1 while True: yield a a, b = b, a+b print list(islice(fib(), 5)) # [0, 1, 1, 2, 3] 2. for……else……用法(以查找素数为例) 正常版本: def print_prime(n): for i in xrange(2, n): found = True for j in xrange(2, i)
转自Stackoverflow.备忘用. Question In Python 2 I could do the following: import numpy as np f = lambda x: x**2 seq = map(f, xrange(5)) seq = np.array(seq) print seq # prints: [ 0 1 4 9 16] In Python 3 it does not work anymore: import numpy as np f = lambd