random
-
random.choice(values) 从一个序列中随机的抽取一个元素
-
random.sample(values) 从一个序列中随机提取出N个不同元素的样本
-
random.shuffle(values) 打乱序列中元素的顺序
-
random.randint() 生成随机整数
-
random.random() 生成0到1范围内均匀分布的浮点数
在Python中,这种一边循环一边计算的机制,称为生成器:generator ,generator保存的是算法 。
元组生成式生成一个生成器对象 ,通过for或者next遍历,遍历后,原生成器对象就不存在了
t2=(i for i in range(10)) for i in t2: print i, tuple2=tuple(t2) print tuple2 #结果 0 1 2 3 4 5 6 7 8 9 ()
列表生成式,生成列表
-
第一种方法只要把一个列表生成式的[]改成(),就创建了一个generator
>>> g = (x * x for x in range(10)) >>> for n in g: ... print(n)
-
第二种方法只有一个函数定义中包含yield关键字,就创建一个generator函数
def fib(max): n, a, b = 0, 0, 1 while n < max: yield b a, b = b, a + b n = n + 1 return 'done' >>> for n in fib(6): ... print(n)