python中的random.sample()方法有什么作用?

发布于 2021-01-29 18:09:40

我用Google搜索了很多,但是找不到。我想知道random.sample()方法的用途,它有什么作用?什么时候应该使用它以及一些示例用法。

关注者
0
被浏览
149
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    根据文件

    random.sample(人口,k)

    返回从填充序列中选择的唯一元素的ak长度列表。用于随机抽样而无需更换。

    基本上,它从序列中选择k个唯一的随机元素(样本):

    >>> import random
    >>> c = list(range(0, 15))
    >>> c
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
    >>> random.sample(c, 5)
    [9, 2, 3, 14, 11]
    

    random.sample 也可以直接从以下范围工作:

    >>> c = range(0, 15)
    >>> c
    range(0, 15)
    >>> random.sample(c, 5)
    [12, 3, 6, 14, 10]
    

    除了序列,还random.sample可以使用集合:

    >>> c = {1, 2, 4}
    >>> random.sample(c, 2)
    [4, 1]
    

    但是,random.sample不适用于任意迭代器:

    >>> c = [1, 3]
    >>> random.sample(iter(c), 5)
    TypeError: Population must be a sequence or set.  For dicts, use list(d).
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看