random
import random
print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数,包括1和10
print( random.random() ) # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice([1,2,3,4]) ) # 从序列中随机选取一个元素,也可以是字符串中的一个元素
print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
a=[1,3,5,6,7] # 将序列a中的元素顺序打乱
random.shuffle(a)
print(a)
# 多个字符中生成指定数量的随机字符:
print random.sample('zyxwvutsrqponmlkjihgfedcba',5) #['j', 'v', 'r', 'g', 'e']
# 从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print ran_str
'''
7
0.19106536160963372
1.7526172344777833
4
45
[3, 5, 6, 7, 1]
['j', 'v', 'r', 'g', 'e']
mpL4Qtgy
'''
使用random生成非均匀的随机数
import random
#以序列seq中值出现的概率来随机生成某个值
def rand_pick(seq , probabilities):
x = random.uniform(0, 1) # 生成随机浮点数
cumprob = 0.0
for item, item_pro in zip(seq, probabilities):
cumprob += item_pro
if x < cumprob:
break
return item
value_list = [3,4,5] # 样本
probabilities = [0.2, 0.3, 0.5] # 控制概率
print(rand_pick(value_list, probabilities))