zoukankan      html  css  js  c++  java
  • Python的random操作

    random中的主要函数有:

    random.random():获取一个随机的浮点数,范围是在0.0~1.0之间

    random.uniform():uniform(self, a, b) —— 产生区间内的随机浮点数

    random.randint():randint(self, a, b) —— 生成区间内(包括端点)的整型数据

    random.choice():choice(self, seq) —— 随机取序列的一个元素

    random.choices(population,weights=None,*,cum_weights=None,k=1) —— 在原来数据的基础上随机选取k次数据,返回一个列表,可以设置权重

    random.shuffle():shuffle(self, x, random=None):直接随机原地打乱数据,返回值是None,因为原值被改变了

    random.sample():sample(self, population, k):取原序列中的k个元素

    random.randrange(a,b,step):根据一定步长,在区间内随机取值

    random.gauss(self, mu, sigma):生成满足一定均值mu和标准差sigma的高斯分布浮点数

    例子如下:

    import random
    # random.seed(1)
    a = [1, 2, 'where','天气','时间','happy new year']

    1. random.random()

    d = random.random() # 一个随机的浮点数,范围是在0.0~1.0之间
    print(d)

    2. random.uniform()

    f = random.uniform(1,3) #产生区间内的随机浮点数
    print(f)

    3. random.randint()

    e = random.randint(1,7)  #生成1-7之间(包括端点)的整型数据
    print(e)

    4. random.choice()

    b = random.choice(a)  #随机取一个元素
    print(b)

    5. random.choices()

    c = random.choices(a, weights=[1,1,1,1,1,1], k=2)  #重复在原来的基础上取k次数据,weights=[1,1,1,1,1,1]表示各个位置的取值概率一致: 1/(1+1+1+1+1+1)=1/6
    print(c)
    
    c = random.choices(a, weights=[0,0,0,0,0,1], k=2)  #为0表示取到该位置的值的概率为0: 0/(0+0+0+0+0+1)=0
    print(c)
    
    #累计权重cum_weights=[0,1,1,1,1,1],理解的时候最好是转换一下转成weights,可以得到:weights=[0,1,0,0,0,0]=[0,1-0,1-1,1-1,1-1,1-1]
    c = random.choices(a, cum_weights=[0,1,1,1,1,1], k=2)
    print(c)

    6. random.shuffle()

    random.shuffle(a)  #直接随机原地打乱数据,返回值是None
    print(a)

    7. random.sample()

    # random.sample(population,n)
    g = random.sample(a,2) #取原序列中的n个元素
    print(g)

    8. random.randrange()

    # random.randrange(a,b,step)
    j = random.randrange(0,10,2) #步长为2的话,会生成范围内的随机偶数
    print(j)

    9. random.gauss()

    h = random.gauss(0,1)  # 生成满足一定均值和标准差的高斯分布浮点数
    print(h)

    ##

    参考:

    https://www.cnblogs.com/dylancao/p/8202888.html

    https://www.sohu.com/a/237831880_697896

    https://blog.csdn.net/ckk727/article/details/99548223

  • 相关阅读:
    redis缓存和mysql数据库同步
    msf生成shellcode
    转 如何用mt7620方案的rt2860v2驱动实现wifi探针功能,网上能搜到一些方法,但是讲的好模糊?
    解决 “不支持尝试执行的操作”错误
    解决win7资源监视器不能开启
    mp3文件 ID3v2 帧标识的含义
    LoadImage函数问题
    AutoCAD ObjectARX(VC)开发基础与实例教程2014版光盘镜像
    Python计算文件MD5值
    objectARX 获取指定图层上所有实体ID
  • 原文地址:https://www.cnblogs.com/qi-yuan-008/p/12581979.html
Copyright © 2011-2022 走看看