开发者社区> 问答> 正文

随机选择

你想从一个序列中随机抽取若干元素,或者想生成几个随机数。

展开
收起
哦哦喔 2020-04-16 21:03:37 1176 0
1 条回答
写回答
取消 提交回答
  • random 模块有大量的函数用来产生随机数和随机选择元素。 比如,要想从一个序列中随机的抽取一个元素,可以使用 random.choice() :
    
    >>> import random
    >>> values = [1, 2, 3, 4, 5, 6]
    >>> random.choice(values)
    2
    >>> random.choice(values)
    3
    >>> random.choice(values)
    1
    >>> random.choice(values)
    4
    >>> random.choice(values)
    6
    >>>
    为了提取出N个不同元素的样本用来做进一步的操作,可以使用 random.sample() :
    
    >>> random.sample(values, 2)
    [6, 2]
    >>> random.sample(values, 2)
    [4, 3]
    >>> random.sample(values, 3)
    [4, 3, 1]
    >>> random.sample(values, 3)
    [5, 4, 1]
    >>>
    如果你仅仅只是想打乱序列中元素的顺序,可以使用 random.shuffle() :
    
    >>> random.shuffle(values)
    >>> values
    [2, 4, 6, 5, 3, 1]
    >>> random.shuffle(values)
    >>> values
    [3, 5, 2, 1, 6, 4]
    >>>
    生成随机整数,请使用 random.randint() :
    
    >>> random.randint(0,10)
    2
    >>> random.randint(0,10)
    5
    >>> random.randint(0,10)
    0
    >>> random.randint(0,10)
    7
    >>> random.randint(0,10)
    10
    >>> random.randint(0,10)
    3
    >>>
    为了生成0到1范围内均匀分布的浮点数,使用 random.random() :
    
    >>> random.random()
    0.9406677561675867
    >>> random.random()
    0.133129581343897
    >>> random.random()
    0.4144991136919316
    >>>
    如果要获取N位随机位(二进制)的整数,使用 random.getrandbits() :
    
    >>> random.getrandbits(200)
    335837000776573622800628485064121869519521710558559406913275
    >>>
    
    2020-04-16 21:04:03
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载