python中random.choice用法

概念

random.choice 是一个 Python 的内置函数,用于从给定的序列中随机选择一个元素返回。它可以应用于列表、元组、字符串等可迭代对象。

示例说明

例如,我们可以使用 random.choice 函数从一个列表中随机选择一个元素:

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来获取数组中的随机两个值的。

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是可能结果。

猜你喜欢

转载自blog.csdn.net/feng8403000/article/details/133136559