zoukankan      html  css  js  c++  java
  • python常用模块——random

    常用模块random

    random模块常用方法:这里只列出了常用的,以后用哪个方法这里没有时,再补充;

    1. betavariate(self, alpha, beta)

    返回0到1之间的任意值;必须满足 alpha > 0 和 beta > 0.两个都为数字;

    例如:
        import random
        print(random.betavariate(9,3))    # 返回0到1之间的一个浮点数
    

    2. choice(self, seq)

    从非空序列中选择一个元素.seq可以是列表、元组等等,不能是字典

    例如:
        import random
        print(random.choice([5,1,3,6,3,9]))   # 返回随机元素 3 
    

    3. choices(self, population, weights=None, *, cum_weights=None, k=1)

    返回被选择的元素的列表;如果未指定权重,则被选择的概率一样;

    例如:
        import random
        print(random.choices())
    

    4. randint(self, a, b)

    返回a和b之间的整数,包含a/b。

    例如:
        import random
        print(random.randint(-114,96))
    

    5. randrange(self, start, stop=None, step=1, _int=<class 'int'>)

    返回start和stop两个之间的数字;默认步长是1;如果指定了步长,则返回数字一定是 start+step*n

    例如:
        import random
        print(random.randrange(2,66,5))    # 这里输出为 2+5n,即 7/12/17/22......
    

    6. sample(self, population, k)

    指定序列或集合 population 和 要选出的长度k;返回一个列表;

    例如:
        import random
        print(random.sample([4,5,22,5,23,7],3))             # 输出 一个列表 [5,23]   元素随机选取
    

    7. uniform(self, a, b)

    返回一个浮点数,位于a、b之间的,可以包含a/b。

    例如:
       import random
       print(random.uniform(-113,99))     # 输出一个随机浮点数
    

    8. getrandbits(k)

    返回一个随机数;我也没弄太明白;自己看的的规律是k为整数,k的值越大,返回的随机数值越大;

    例如:
        import random
        print(random.getrandbits(5))      # 返回随机数 13
        print(random.getrandbits(35))     # 返回随机数 7746853177
    

    9. random()

    随机返回一个值,改值位于 [0,1);不需要参数;

    例如:
        import random
        print(random.random())            # 返回随机数 0.6511358156229555

    10. 举例

    import random
    print(random.uniform(2.5, 10.0) )           # 2.5到10.0之间的小数
    print(random.random())                      # 随机0~1之间的小数
    print(random.expovariate(1 / 5) )
    print(random.randrange(10))                 # 随机0~10之间的整数
    print(random.randrange(0, 101, 2))          # 随机0到100之间的,步长是2
    print(random.choice(['win', 'lose', 'draw']))   # 随机选择一个
    
    deck = 'ace two three four'.split()
    random.shuffle(deck)                        # Shuffle a list,把一个list的顺序打乱
    print(deck)         #['four', 'two', 'ace', 'three']
    
    print(random.sample([10, 20, 30, 40, 50], k=4))     # 随机选择4个
    
    print(random.choices(['red', 'black', 'green'], [18, 18, 2], k=6))      #加权的选择,值越大,权重越大['red', 'green', 'black', 'black', 'red', 'black']
    如需转载,请注明出处,否则本人会追究法律责任!
  • 相关阅读:
    京东咚咚架构演讲读后感
    京东峰值系统设计读后感
    游戏服务器的架构演讲读后感
    菜鸟弹性调度系统的架构设计读后感
    阿里如何实现秒级百万TPS?搜索离线大数据平台架构解读读后感
    阿里游戏高可用架构设计实践读后感
    淘宝架构背后——零售业务中台架构设计探讨及实践读后感
    本地存储的时候需要类型转换
    禁止输入框显示用户历史输入历史记录
    项目必备!永无 bug 注释
  • 原文地址:https://www.cnblogs.com/hacker001/p/10094752.html
Copyright © 2011-2022 走看看