如何利用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爬虫Xpath定位数据的两种方法

    Python爬虫Xpath定位数据的两种方法

    这篇文章主要介绍了Python爬虫Xpath定位数据的方法,第一种方法直接右键,将文章路径复制下来点击Copy full Xpath,方法二使用@制定标签属性,搜索指定位置,每种方法给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Pytorch数据读取之Dataset和DataLoader知识总结

    Pytorch数据读取之Dataset和DataLoader知识总结

    Dataset和DataLoader都是Pytorch里面读取数据的工具.现在对这两种工具做一个概括和总结,对正在学习Pytorch的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • python中p-value的实现方式

    python中p-value的实现方式

    今天小编就为大家分享一篇python中p-value的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 使用python把xmind转换成excel测试用例的实现代码

    使用python把xmind转换成excel测试用例的实现代码

    这篇文章主要介绍了使用python把xmind转换成excel测试用例的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 详解Python循环作用域与闭包

    详解Python循环作用域与闭包

    这篇文章主要介绍了Python循环作用域与闭包,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • python创建Flask Talisman应用程序的步骤详解

    python创建Flask Talisman应用程序的步骤详解

    Flask是一个功能强大的Web框架,主要用于使用Python语言开发有趣的Web应用程序,Talisman基本上是一个Flask扩展,用于添加HTTP安全标头我们的Flask应用程序易于实施,本文就给大家讲讲带Talisman的Flask安全性,需要的朋友可以参考下
    2023-09-09
  • Python中的时序分析和可视化案例详解

    Python中的时序分析和可视化案例详解

    每个数据集都有自己的特征,我们使用它们的特征作为特征来深入了解数据,在本文中,我们将讨论一种重要的数据集,即时间序列数据,感兴趣的可以了解下
    2024-02-02
  • django authenticate用户身份认证的项目实践

    django authenticate用户身份认证的项目实践

    Django的contrib.auth模块中的authenticate()函数用于对用户的凭据进行身份验证,本文就来介绍一下django authenticate用户身份认证的使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • python实现数据图表

    python实现数据图表

    plotly是现代平台的敏捷商业智能和数据科学库,它作为一款开源的绘图库,可以应用于Python、R、MATLAB、Excel、JavaScript和jupyter等多种语言,主要使用的js进行图形绘制,实现过程中主要就是调用plotly的函数接口,底层实现完全被隐藏,便于初学者的掌握。
    2017-07-07
  • 浅析Python实现DFA算法

    浅析Python实现DFA算法

    DFA全称为Deterministic Finite Automaton,即确定有穷自动机。特征:有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边标记有一个符号,其中一个状态是初态,某些状态是终态。不同于不确定的有限自动机,DFA中不会有从同一状态出发的两条边标志有相同的符号
    2021-06-06

最新评论