📜  python中的随机选择器(1)

📅  最后修改于: 2023-12-03 15:19:31.521000             🧑  作者: Mango

Python中的随机选择器

在编写程序时,我们常常需要从一组数据中随机选择一个或多个元素。Python的标准库中提供了多种随机选择器,可以轻松地完成这些任务。

random.choice()

random.choice() 函数可以从序列中随机选择一个元素。

import random

fruits = ['apple', 'banana', 'cherry', 'durian']
chosen_fruit = random.choice(fruits)
print(chosen_fruit)

输出:

banana
random.choices()

random.choices() 函数可以从序列中随机选择一个或多个元素,支持加权随机。

import random

cards = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
weights = [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
chosen_cards = random.choices(cards, weights, k=5)
print(chosen_cards)

输出:

['10', '8', 'K', '3', '3']
random.sample()

random.sample() 函数可以从序列中随机选择不重复的指定数量的元素。

import random

numbers = list(range(1, 51))
chosen_numbers = random.sample(numbers, 6)
print(chosen_numbers)

输出:

[49, 28, 45, 13, 42, 38]
numpy.random.choice()

如果需要从一个大规模的数据集中随机选择元素,可以使用 numpy.random.choice() 函数。

import numpy as np

data = np.random.randint(0, 100, 100000)  # 生成一组随机数据
chosen_data = np.random.choice(data, 1000)  # 从数据集中随机选择1000个元素
print(chosen_data)

输出:

[21  5 13 88 10 76 50 94 11 49 30 38 59 39 16 20 18 43  7 30 54 69 88 95 16
 44 19 61 45  9 61 27 14 41 48 27 60 45 49 27 58 70 30 19 56 97 37 21 62
 45 92 52  5 33 37 85 23 99 23 31 63 56 24 37 83 69 92 47  3 73  8 42 34
 55 78 95 61 71 89 16 94 69 44 68 41 25 64 99 54 64 43 13 84 58 84 69 71
 96 70 35 49 76  5 85 80 68 45 44 39 47 48 27 76 19 42 27 58 97 30 68 48
 30 41 52 19  8 54 28 76 29 59 39 16 46 85  3  9 31 60 48 43 34 27 36 97
 58 59 46  9 27 35 15 28 94 30 80 61 54 95 77 39 31 43 34  3 94 75  8 29
  7 10 33 42  7  5 99 31 55 96 95 77 58 84 31 84 50 33 35 12 29 69 50 23
  2 96 19 58 65 56 38 85 92  5 12 16 23 99 23 36 65 70 23 42 34 72 26 65
 57 30 65 59 26 64 96 54  9 87 50 29 30 14 69 88 95 56 52 62 78 13 10 18
  9 39 16 48 53 87 26 11 97 39 27 66 97 50 47 35 65 67 84  6 36 28 34 60
 26 23 68 32 13 29  4 32 90 26 15 57 67 16 92 46 79 41 50 44 95 45 49 85
 12 39 13 96 18 54  1 70 77 51 75 68 22 16  8 78 39  1 72 77 91 77 66 44
 58 64 71  9 48 16 39  6 88 91 22 13 46 66 10 59 86 30 86 67 98 36 15 50
 80 54  0  2 36 69 11  9  3  1 93 40  3 37  0 73 93 93 11 73 74 95 45 73
 84  8 61 89 35  5 30 23 93 23 37 89  2 22 82 32 76 62 82 57 33 87 98 46
 21 69 52 67 71 84 56 20  1 35 57  5 23  4 51 20 47 16 87 14 80 28 82 64
  1 82 61 66 46 59 86 87 19 25 86 67 82 52  7 77  6 76 17 34 51 36 15 98
 19 21 67  8 19 95 28  1 70 17 51 41 56 75 42 71 14  2  8 91 91 16 19 67
 17 27 10 10 63 41  7 21 58 13 63 63 92 52 11 60 51]

以上就是Python中常用的随机选择器,使用它们可以方便地完成从序列中随机选择元素的任务。