如何利用Python随机从list中挑选一个元素

 更新时间:2022年05月24日 17:06:02   作者:sgzqc  
这篇文章主要介绍了如何利用Python随机从list中挑选一个元素,文章通过研究从列表中选择随机元素的不同实现方法展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

1. 引言

在本文中,我们将研究从列表中选择随机元素的不同实现方法。在日常项目中,我们经常会遇到这种情形,比如随机从多种数据增强策略中选择一种或几种来提升训练数据的多样性。

2. 举个栗子

为了方便示例,这里我们假设有一个包含多个水果英文名的列表,并且我们需要从中选择一种随机水果进行输出。

水果名称列表如下所示:

fruit_name_list = [
'apple',
'orange',
'banana',
'pear',
'watermelon'
]

3. 使用Random库

random 库是一个 python的内置库,因此我们不需要重新安装它,可以方便地直接导入。这里我们将研究使用该库从列表中选择随机元素的 3 种不同方法。

3.1 随机下标

函数​​random.randrange(num_items)​​用于返回介于区间0到​​num_items-1​​之间的一个随机数,如果我们得到一个列表的随机下标,进而我们就可以方便的得到该列表中的一个随机元素。

样例代码如下:

import random
num_items = len(fruit_name_list)
random_index = random.randrange(num_items)
winner = fruit_name_list[random_index]
print(winner)

输出如下:

orange

3.2 随机选择单个元素

函数​​random.choice​​ 将列表作为输入参数,并从列表中返回一个随机元素。在上述的例子中,我们可以直接传递 列表​​fruit_name_list​​作为该函数的参数。

样例代码如下:

winner = random.choice(fruit_name_list)
print(winner)

输出如下:

watermelon

3.3 随机选择多个元素

函数​​random.sample​​功能类似于函数​​random.choice​​,主要区别在于我们可以指定所需的随机元素的数量。在下面的代码样例中,我们可以得到两个随机的水果英文名字。 ​​random.sample​​ 返回值为一个列表。

样例代码如下:

winners = random.sample(fruit_name_list,2)
print(winners)

输出如下:

['banana', 'watermelon']

4. 使用Secrets库

​Secrets​​ 库优于 Random 库,因为它更安全。与 random 库一样,它也是一个内置的 python 库,我们不必安装任何其他依赖项。但是,如果我们使用的是低于3.6 的Python版本,则必须使用pip安装该模块。

4.1 随机下标

函数​​secrets.randbelow​​的功能类似于​​random.randrange​​。使用该函数我们可以得到一个介于 0 和 ​​num_items - 1​​ 之间的随机索引,进而使用该索引来方便地访问我们的水果英文名列表中的元素。

样例代码如下:

import secrets
num_items = len(fruit_name_list)
random_index = secrets.randbelow(num_items)
winner = fruit_name_list[random_index]
print(winner)

输出如下:

watermelon

4.2 随机选择单个元素

函数​​secrets.choice​​功能类似于函数​​random.choice​​,该函数将列表作为输入参数,并从该列表中返回一个随机元素。

样例代码如下:

winner = secrets.choice(fruit_name_list)
print(winner)

输出如下:

apple

4.3 随机选择多个元素

函数​​secrets.SystemRandom().sample()​​功能类似于 ​​random.sample()​​,该函数接受输入列表和返回元素个数作为输入参数,同时该函数返回一个挑选出的随机元素的列表。

样例代码如下:

winners = secrets.SystemRandom().sample(fruit_name_list,2)
print(winners)

输出如下:

['watermelon', 'orange']

5. 总结

本文介绍了分别使用Random库以及使用Secrets库来从列表中随机挑选一个或多个元素的不同实现方法,并均给出了代码示例。

到此这篇关于如何利用Python随机从list中挑选一个元素的文章就介绍到这了,更多相关 Python从list中挑选元素内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 数据类型强制转换的总结

    python 数据类型强制转换的总结

    这篇文章主要介绍了python 数据类型强制转换的使用总结,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • Python常用Web框架Django、Flask与Tornado介绍

    Python常用Web框架Django、Flask与Tornado介绍

    这篇文章介绍了Python常用Web框架Django、Flask与Tornado,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Caffe卷积神经网络数据层及参数

    Caffe卷积神经网络数据层及参数

    这篇文章主要为大家介绍了Caffe卷积神经网络数据层及参数示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Django如何在不停机的情况下创建索引

    Django如何在不停机的情况下创建索引

    在本篇内容里小编给大家整理的是关于Django如何在不停机的情况下创建索引的相关文章,有兴趣的朋友们参考学习下。
    2020-08-08
  • Python连接Redis库常见操作全面详解

    Python连接Redis库常见操作全面详解

    本文将介绍如何在Python中进行Redis操作,包括连接Redis、数据存储、数据检索和其他常见操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Python极值整数的边界探讨分析

    Python极值整数的边界探讨分析

    这篇文章主要介绍了Python极值整数的边界探讨分析,阅读本文来一起领略Python中的极值,看一下Python整数是否有边界,有需要的朋友可以借鉴参考下
    2021-09-09
  • wx.CheckBox创建复选框控件并响应鼠标点击事件

    wx.CheckBox创建复选框控件并响应鼠标点击事件

    这篇文章主要为大家详细介绍了wx.CheckBox创建复选框控件并响应鼠标点击事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • python 接口_从协议到抽象基类详解

    python 接口_从协议到抽象基类详解

    下面小编就为大家带来一篇python 接口_从协议到抽象基类详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Python进阶Matplotlib库图绘制

    Python进阶Matplotlib库图绘制

    这篇文章主要介绍了Python进阶Matplotlib库图绘制,Matplotlib:是一个Python的2D绘图库,通过Matplotlib,开发者可以仅需要几行代码,便可以生成折线图,直方图,条形图,饼状图,散点图等
    2022-07-07
  • Python中property属性的用处详解

    Python中property属性的用处详解

    这篇文章主要给大家介绍了关于Python中property属性的相关资料,需简单地说就是一个类里面的方法一旦被@property装饰,就可以像调用属性一样地去调用这个方法,它能够简化调用者获取数据的流程,而且不用担心将属性暴露出来,有人对其进行赋值操作,下面要的朋友可以参考下
    2022-04-04

最新评论