zoukankan      html  css  js  c++  java
  • python中的随机数生成

    结论先行

    生成随机数:

    # 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]
      
  • 相关阅读:
    c#多线程控制
    SQL解析XML文件
    c#时间差高精度检查
    SQL Server数据库级别触发器
    c#做对比软件
    项目管理开源软件
    信息量、信息熵、交叉熵、相对熵
    GAN评价指标之mode score
    Fréchet Inception Distance(FID)
    图片的多样性之模式崩溃
  • 原文地址:https://www.cnblogs.com/amyzhu/p/11046343.html
Copyright © 2011-2022 走看看