Python Random模块详解

Random模块详解

随机数

random模块

  • randint(a, b) 返回[a, b]之间的整数
  • randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数 缺省值为1。random.randrange(1,7,2)
  • choice(seq) 从非空序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中 随机挑选一个整数。random.choice([1,3,5,7])
  • 3.6开始提供choices,一次从样本中随机选择几个,可重复选择,可以指定权重
  • random.shuffle(list) ->None 就地打乱列表元素
  • sample(population, k) 从样本空间或总体(序列或者集合类型)中随机取出k个不同的元素,返回 一个新的列表
    • random.sample([‘a’, ‘b’, ‘c’, ‘d’], 2)
    • random.sample([‘a’, ‘a’], 2) 会返回什么结果
    • 每次从样本空间采样,在这一次中不可以重复抽取同一个元素

import random
# 导入random模块
x = list(range(5))
# 定义一个变量x,x的值是一个列表,列表中有一个range(5)对象
x
# 输出结果 [0, 1, 2, 3, 4] 顺序显示
random.shuffle(x)
# x调用random的shuffle方法,shuffle方法就是洗牌的意思打乱顺序。
x
# 返回了一个全新列表,并且是打乱顺序的[2, 1, 0, 3, 4]

Python Random模块详解_第1张图片

  • 使用random的randint方法,获取0,1
    Python Random模块详解_第2张图片
  • 使用random的randrange方法,range对象,前包后不包。
    Python Random模块详解_第3张图片
  • 随机取整,10永远也看不到,因为前包后不包。
    Python Random模块详解_第4张图片
print(random.choices(x))
# choices可以重复取

Python Random模块详解_第5张图片
Python Random模块详解_第6张图片

  • [0, 1] 的范围内取6次,循环执行10次
    Python Random模块详解_第7张图片
  • [0, 1] 的范围内取6次,[10, 1]权重1v1对应(出现10次0,出现1次1),循环执行10次
    Python Random模块详解_第8张图片

你可能感兴趣的:(Python,python)