今天需要在 Python List 中,随机选择一定数量的数,第一个想到是 Python 的随机数。
Python random 是一种伪随机数生成器。例如有下面的列表,我需要随机获取 10 个数,示例代码如下:
number_list = [{'id': 1}, {'id': 2}, {'id': 3}, {'id': 4}, {'id': 5}, {'id': 6}, {'id': 7}, {'id': 8},
{'id': 9}, {'id': 10}, {'id': 11}, {'id': 12}, {'id': 13}, {'id': 14}]
random_list = sample(number_list, k=10)
这里使用了 random.sample()
函数,关于 random.sample()
官方的介绍如下:
返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。
返回包含来自总体的元素的新列表,同时保持原始总体不变。 结果列表按选择顺序排列,因此所有子切片也将是有效的随机样本。 这允许抽奖获奖者(样本)被划分为大奖和第二名获胜者(子切片)。
总体成员不必是 hashable 或 unique 。 如果总体包含重复,则每次出现都是样本中可能的选择。
通过上面的写法就实现了在 Python 中给定的 List 中随机选择指定数量的随机数这个功能了。