zoukankan      html  css  js  c++  java
  • python--random库基本介绍

    random库是使用随机数的Python标准库

    python中用于生成伪随机数的函数库是random

    因为是标准库,使用时候只需要import random

    random库包含两类函数,常用的共9个

            --基本随机函数: seed(), random()

            --扩展随机函数:randint(), getrandbits(), uniform(), randrange(), choice(), shuffle(),sample()

     基本随机数

    基本随机函数 
    函数

    描述

      seed(a=None)  

     初始化给定的随机数种子,默认为当前系统时间

    >>>random.seed(10)     #产生种子10对应的序列

     random()

     生成一个[0.0,1.0)之间的随机小数

    >>>random.random()

    0.5714025946899135            #随机数产生与种子有关,如果种子是1哦,第一个数必定是这个

    使用随机数种子的好处是可以复现有随机数的程序

    扩展随机数函数

    在random库中,最基本的是seed 和random 函数,但时功能比较单一,为此产生了6个扩展随机数函数

    扩展随机数函数
    函数 描述
     randint(a,b)

     生成一个[a,b]之间的整数

    >>>random.randint(10,100)

     randrange(m,n[,k])

     生成一个[m,n)之间以k为步长的随机整数

    >>>random.randrange(10,100,10)

     getrandbits(k)

     生成一个k比特长的随机整数

    >>>random.getrandbits(16)

    37885

     uniform(a,b)

     生成一个[a,b]之间的随机小数

    >>>random.uniform(10,100)

    16.848041210321334

     choice(seq)   

    序列相关

     从序列中随机选择一个元素

    >>>random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9])

    8

     shuffle(seq)

    序列相关

     将序列seq中元素随机排列,返回打乱后的序列

    >>>s=[1, 2, 3, 4, 5, 6, 7, 8, 9]; random.shuffle(s); print(s)

    [9, 4, 6, 3, 5, 2, 8, 7, 1]

     sample()

      random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列

      代码如下:
      
    print(random.sample('abcdefghijklmnopqrstuvwxyz', 3))
    #打印结果['a', 'o', 'p']

    下面举一些常见的例子:

    随机整数:
    
    代码如下:
    >>> import random
    >>> random.randint(0,99)
    # 21
     
    
    随机选取0到100间的偶数:
    
    代码如下:
    >>> import random
    >>> random.randrange(0, 101, 2)
    # 42
     
    
    随机浮点数:
    
    代码如下:
    >>> import random
    >>> random.random()
    0.85415370477785668
    >>> random.uniform(1, 10)
    # 5.4221167969800881
     
    
    随机字符:
    
    代码如下:
    >>> import random
    >>> random.choice('abcdefg&#%^*f')
    # 'd'
     
    
    多个字符中选取特定数量的字符:
    
    代码如下:
    >>> import random
    random.sample('abcdefghij', 3)
    # ['a', 'd', 'b']
     
    
    多个字符中选取特定数量的字符组成新字符串:
    
    代码如下:
    >>> import random
    >>>''.join( random.sample(['a','b','c','d','e','f','g','h','i','j'], 3) )
    # 'fih'
     
    
    随机选取字符串:
    
    代码如下:
    >>> import random
    >>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )
    # 'lemon'
     
    
    洗牌:
    
     
    
    代码如下:
    >>> import random
    >>> items = [1, 2, 3, 4, 5, 6]
    >>> random.shuffle(items)
    >>> items
    # [3, 2, 5, 6, 4, 1]
     
    参考文档: http://www.jb51.net/article/50066.htm
  • 相关阅读:
    基于LBS(GPS)和ArcGIS的ITS智能交通 路况服务架构
    入手ipod touch4
    改2字节将Win XP Home变成Pro?!(zz)
    越来越多的同学在MSN上建Blog了……
    有了64位的芯不一定能运行64位OS?(zz)
    C++字符串完全指引之二——字符串封装类(zz)
    忙……
    注意C#中的ref及out关键字
    期待CGFTP 1.0正式版:)
    真伪双核 英特尔双核平台深度揭秘(zz)
  • 原文地址:https://www.cnblogs.com/sgfg-1314/p/10101862.html
Copyright © 2011-2022 走看看