肉渣教程

随机库

上一节 下一节

Python通过内置的random模块即可生成随机数,还可以在指定列表中随机选出一个元素。


random模块

使用random.random()可随机获取一个0到1之间的浮点型数字。

>>> import random
>>> random.random()
0.7271454594232384
>>> random.random()
0.8847994682475776
>>> random.random()
0.46199400671485624
>>> random.random()
0.7427160279809695

运行一下


使用random.randint(x, y)可获得指定区间(从数字x到数字y之间,x和y包含在内)的一个随机整数。

>>> import random
>>> random.randint( 0, 1 )
0
>>> random.randint( 0, 1 )
0
>>> random.randint( 0, 1 )
1
>>> random.randint( 10, 99 )
13
>>> random.randint( 10, 99 )
17
>>> random.randint( 10, 99 )
64

运行一下


使用random.choice( 有序序列 )可随机获取有序序列中的某个元素;列表(list)、元组(tuple)、字符串(str)都属于有序序列类型;也可以传入一个生成有序序列的迭代器,例如xrange(100)返回的0-99的迭代器(Iteration)。

>>> import random
>>> random.choice( [ 7, 2, 8 ] )
7
>>> random.choice( ( 0, 1 ) )
1
>>> random.choice( "zhuanfou" )
'h'
>>> random.choice( xrange(100) )
21

运行一下


使用random.sample(有序序列, m)可从有序序列中随机选择m个元素,以列表的形式返回。(因为被随机筛选出的m个元素的索引是各自不同的,所以m必须小于等于有序序列的长度;若设列有序序列n,其实这就是n个元素中随机选取m个元素的经典问题)

>>> import random
>>> random.sample( [ 7, 2, 8 ], 2 )
[2, 7]
>>> random.sample( ( 0, 1 ), 1 )
[0]
>>> random.sample( "zhuanfou", 6)
['a', 'f', 'u', 'h', 'u', 'n']
>>> random.sample( xrange(100), 10 )
[13, 15, 57, 47, 63, 78, 56, 5, 18, 12]

运行一下


随机库

上一节 下一节