📅  最后修改于: 2023-12-03 15:19:31.521000             🧑  作者: Mango
在编写程序时,我们常常需要从一组数据中随机选择一个或多个元素。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中常用的随机选择器,使用它们可以方便地完成从序列中随机选择元素的任务。