概念
random.choice 是一个 Python 的内置函数,用于从给定的序列中随机选择一个元素返回。它可以应用于列表、元组、字符串等可迭代对象。
示例说明
例如,我们可以使用 random.choice 函数从一个列表中随机选择一个元素:
代码语言:javascript复制import random
my_list = [12, 22, 345, 123, 521]
for index in range(0, 10):
random_element = random.choice(my_list)
print(random_element)
输出结果:
可以看到,完全是在指定范围内生成的随机返回值。
可用场景
例如:2048这个游戏,每次随机的值都是2或者4,只有这两个值。下面是初始化2048棋盘的数据的一个函数,里面可以看到咱们使用的就是random.choice来获取数组中的随机两个值的。
代码语言:javascript复制def init():
"""
初始化操作
:return:
"""
# 随机生成两个2或4并防止到棋盘中
for i in range(2):
while True:
# 棋盘位置
row = random.randint(0, 3)
col = random.randint(0, 3)
if data[row][col] == 0:
# 在数组重随机抽取2或4·棋盘数字
data[row][col] = random.choice([2, 4])
break
注意内容
注: 1、random.choice 函数不能直接用于选择字典中的随机键值对,因为该函数是用于从序列中选择随机元素的。如果要从字典中选择随机键值对,可以使用 random.choice(list(dictionary.items())) 的方法来实现。 2、random.choice 函数不能用于选择一个随机的布尔值。该函数的作用是从给定的序列中随机选择一个元素。在布尔值的情况下,你可以使用 random.choice([True, False]) 来随机选择一个布尔值。
练习题:
以下程序的输出结果可能是:
list = [123,'ab',576,'xwyz']
print(random.choice(list[3]))
A. 123
B. ab
C. 576
D. z
正确答案:D
因为这里是对list中的下角标为3的字符串进行随机获取值,字符串是有字符数组组成,故而会随机出现字符串中的字符,所有D选项的z是可能结果。