python中的随机数生成

系统 1486 0

结论先行

生成随机数:

          
            # salt = ''.join(random.choices(string.ascii_letters + string.digits, k=3))
salt = ''.join(random.sample(string.ascii_letters + string.digits, 3))
print(salt)
          
        

random模块

python标准库中的 random 函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据。

random主要函数接受

  • random.random() 用于生成一个随机浮点数

                  
                    >>> import random
    >>> random.random()
    0.025952242994744412
                  
                
  • random.uniform(a,b) 用于生成一个指定范围的随机浮点数。若a=b,则生成的浮点数是a

  •               
                    >>> random.uniform(2,5)
    2.3194041077057443
    >>> random.uniform(2,2)
    2.0
                  
                
  • random.randint(a,b) 用于生成一个指定范围内的整数,生成的随机整数a<=n<=b

  •               
                    >>> random.randint(2,3)
    2
    >>> random.randint(2,3)
    3
    >>> random.randint(2,2)
    2
                  
                
  • random.randrange([start],stop[,step]) 从指定范围,按指定基数递增的集合中获取一个随机数,基数缺省值为1,不包含stop。

  •               
                    random.randrange(10) #输出0~10之间的任意数
    random.randrange(10,100) #输出为10到100间的任意数
    random.randrange(10,100,4) #输出为10到100内以4递增的序列[10,14,18,22...]
    random.choice(range(10,100,4)) #输出在结果上与上一条等效
                  
                
  • random.shuffle(x[,random]) 用于将一个列表中的元素打乱

  •               
                    >>> list=[1,2,3,4,5]
    >>> random.shuffle(list)
    >>> list
    [4, 1, 2, 5, 3]
    >>> random.shuffle(list)
    >>> list
    [2, 4, 3, 1, 5]
                  
                
  • random.choice(sequence) 从序列中获取 一个 随机元素,包括list、tuple、字符串等

  •               
                    >>> random.choice(range(10))
    7
    >>> random.choice("hello")
    'e'
    >>> random.choice([1,2,3])
    3
    >>> random.choice((1,2,3))
    1
                  
                
  • random.choices(sequence,k=n) 从指定序列中随机获取n个元素作为一个片段返回。该函数还可以设置各个元素的权重,详见官方文档。python3才有的函数。

                  
                    >>> import random
    >>> random.choices('12345678',k=3)
    ['6', '3', '7']
                  
                
  • random.sample(sequence,k) 从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列

  •               
                    >>> a='1234567890'
    >>> random.sample(a,3)
    ['4', '1', '5']
    >>> a
    '1234567890' # a不变
    >>> random.sample([1,2,3,4,5,6,7,8],3)
    [1, 7, 5]
    >>> random.sample((1,2,3,4,5,6,7,8),3)
    [6, 2, 7]
                  
                

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论