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

目录
  • 1. 引言
  • 2. 举个栗子
  • 3. 使用Random库
    • 3.1 随机下标
    • 3.2 随机选择单个元素
    • 3.3 随机选择多个元素
  • 4. 使用Secrets库
    • 4.1 随机下标
    • 4.2 随机选择单个元素
    • 4.3 随机选择多个元素
  • 5. 总结

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中挑选元素内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python list列表删除元素的4种方法

    目录 del:根据索引值删除元素 pop():根据索引值删除元素 remove():根据元素值进行删除 clear():删除列表所有元素 在 Python 列表中删除元素主要分为以下 3 种场景: 根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法: 根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法: 将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法. del:根据索引值删除元素 del 是 Pyt

  • Python列表(list)所有元素的同一操作解析

    针对很普遍的每个元素的操作会遍历每个元素进行操作. 这里给出了几种写法,列表每个元素自增等数学操作同理: 示例:整形列表ilist加1个数.元素类型转字符串: ilist = [1, 2, 3, 10, 11, 12] # 每个元素加5,四种方法 for i, v in enumerate(ilist): ilist[i] = v + 5 [ x+5 for x in ilist ] map(lambda x:x+5, ilist) # 仅python 2 list(map(lambda x:x

  • Python 删除List元素的三种方法remove、pop、del

    1.remove: 删除单个元素,删除首个符合条件的元素,按值删除,从左向右依次删除符合条件的值 举例说明: >>> str=[1,2,3,4,5,2,6] >>> str.remove(2) >>> str [1, 3, 4, 5, 2, 6] 2.pop: 删除单个或多个元素,按位删除(根据索引删除) >>> str=[0,1,2,3,4,5,6] >>> str.pop(1) #pop删除时会返回被删除的元素

  • python 统计list中各个元素出现的次数的几种方法

    利用字典dict来完成统计 举例: a = [1, 2, 3, 1, 1, 2] dict = {} for key in a: dict[key] = dict.get(key, 0) + 1 print dict 输出结果: >>>{1: 3, 2: 2, 3: 1} 利用Python的collection包下Counter的类 举例: from collections import Counter a = [1, 2, 3, 1, 1, 2] result = Counter(a)

  • Python代码实现删除一个list里面重复元素的方法

    网上学习了的两个新方法,代码非常之简洁.看来,不是只要实现了基本功能就能交差滴,想要真的学好python还有很长的一段路呀 方法一:是利用map的fromkeys来自动过滤重复值,map是基于hash的,大数组的时候应该会比排序快点吧 方法二:是用set(),set是定义集合的,无序,非重复 方法三:是排序后,倒着扫描,遇到已有的元素删之 #!/usr/bin/python #coding=utf-8 ''' Created on 2012-2-22 Q: 给定一个列表,去掉其重复的元素,并输出

  • 使用python list 查找所有匹配元素的位置实例

    如下所示: import re word = "test" s = "test abcdas test 1234 testcase testsuite" w = [m.start() for m in re.finditer(word, s)] print(w) 以上这篇使用python list 查找所有匹配元素的位置实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python判断一个list中是否包含另一个list全部元素的方法分析

    本文实例讲述了Python判断一个list中是否包含另一个list全部元素的方法.分享给大家供大家参考,具体如下: 你可以用for in循环+in来判断 #!/usr/bin/env python # coding: utf-8 a = [1, 2, 3, 4, 5] b = [3, 4, 5] d = [False for c in b if c not in a] if d: print "a不包含b的所有元素" else: print "a包含b的所有元素"

  • Python将list元素转存为CSV文件的实现

    首先先定义一个list,将其转存为csv文件,看将会报什么错误 list=[[1,2,3],[4,5,6],[7,9,9]] list.to_csv('e:/testcsv.csv',encoding='utf-8') 运行后出现: Traceback (most recent call last):   File "D:/Python/untitled/PcCVS.py", line 43, in <module>     list.to_csv('e:/testcsv.

  • python如何获得list或numpy数组中最大元素对应的索引

    获得list中最大元素的索引 aa = [1,2,3,4,5] aa.index(max(aa)) 相应的最小值使用 aa = [1,2,3,4,5] aa.index(min(aa)) 获得numpy数组中最大元素的索引 1.可以使用numpy的函数,argmax获得最大元素的索引,相应的获得最小值的话需要使用argmin. aa = [1,2,3,4,5] arr_aa = np.array(aa) maxindex = np.argmax(arr_aa ) 1.也可以将numpy转为lis

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

    目录 1. 引言 2. 举个栗子 3. 使用Random库 3.1 随机下标 3.2 随机选择单个元素 3.3 随机选择多个元素 4. 使用Secrets库 4.1 随机下标 4.2 随机选择单个元素 4.3 随机选择多个元素 5. 总结 1. 引言 在本文中,我们将研究从列表中选择随机元素的不同实现方法.在日常项目中,我们经常会遇到这种情形,比如随机从多种数据增强策略中选择一种或几种来提升训练数据的多样性.闲话少说,我们直接开始吧. :) 2. 举个栗子 为了方便示例,这里我们假设有一个包含多

  • python随机取list中的元素方法

    随机取 list 中的元素 random.sample import random a = [1, 2, 3, 4, 5, 6, 7, 8, 9] b = random.sample(a, 5) 以上这篇python随机取list中的元素方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 利用Python实现朋友圈中的九宫格图片效果

    前言 大家应该经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图即可. 说到切图,Python 就可以实现,主要用到的 Python 库为 Pillow,安装使用 pip install pillow 即可,切图的主要步骤如下: 打开要处理的图片 判断打开的图片是否为正方形 如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分 保存处理完的图片 主要实现代码如下: # 填充新的 image def fill_image(image

  • 教你利用python如何读取txt中的数据

    目录 前言 方法一:运用open()函数 方法二:使用numpy包的loadtxt方法 方法三:使用pandas的read_table方法进行读取 总结 前言 当我们在用python时可能会遇到想要把txt文档里的数据读取出来然后进行绘图,那么我们要怎么才能够将txt里的数据读取出来呢? 假设有txt文本如下: 想要把上述文本数据读取出来,可以用以下方法: 方法一:运用open()函数 该方法使用最基本的open函数进行读取,此处将会把数据读取到一个列表中,这个方法一般就是open打开文件.re

  • 如何利用Python处理excel表格中的数据

    目录 一.基础.常用方法 二.提高 三.出错 总结 一.基础.常用方法 1. 读取excel 1.导入模块: import xlrd 2.打开文件: x1 = xlrd.open_workbook("data.xlsx") 3.获取sheet: sheet是指工作表的名称,因为一个excel有多个工作表 获取所有sheet名字:x1.sheet_names() 获取sheet数量:x1.nsheets 获取所有sheet对象:x1.sheets() 通过sheet名查找:x1.shee

  • 如何利用python执行txt文件中的代码

    目录 前言: 1.什么是exec()函数? 2.如何将txt中的代码作为字符串读取? 3.使用exec()执行txt文件的完整例子 前言: 我们知道,python代码文件大多数都是py类型. 那么,能不能使用txt文件存储我们的代码呢? python这么强大的语言当然可以做大,只需使用内置的exex()函数. 1.什么是exec()函数? 根据官方文档的介绍,exec函数的定义如下: exec(source, globals=None, locals=None, /)     Execute t

  • 利用Python实现翻译HTML中的文本字符串

    相信大家都用过浏览器的翻译网页功能,例如对于下图这个英文网页: 一键翻译成中文以后是这样的: 你可能会觉得这个功能很简单,不就是字符串替换吗?那你可以试一试把下面这个HTML片段中的<p>标签下面的英文翻译成中文.其它标签中的不要改动: <div>  <p>if you want to parse date and time, your could use <em>datetime</em>, by use this library, you c

  • 如何利用Python给自己的头像加一个小国旗(小月饼)

    今年国庆节也是中秋节,首先祝大家节日快乐,本文我们使用 Python 来给自己的头像加一个小国旗或小月饼. 国旗 对于国旗,我们可以使用 Python 来画一个,用到的 Python 库是大家比较熟悉的 turtle,我们的五星红旗组成元素包括:红底.一颗黄的主星和四颗黄的副星. 首先画一个长方形的红底,代码实现如下: turtle.setup(600, 400, 0, 0) turtle.bgcolor("red") 效果如下: 接着画一颗主星,代码实现如下: turtle.fill

  • python实现在列表中查找某个元素的下标示例

    题目:给一个列表,找元素在此列表中的位置,如果找到,返回此元素的下标,如果找不到,那就直接返回空 解决方法1: # _*_ coding:UTF-8 _*_ def find(list,a): for i in range(0,len(list)): if list[i]==a: print i else: return None find(raw_input('请输入列表:'),raw_input('请输入要查找的元素:')) 元素在列表中的情况: (1)列表中都是字符 (2)列表中都是数字

  • java实现向有序数组中插入一个元素实例

    整理文档,搜刮出一个java实现向有序数组中插入一个元素,稍微整理精简一下做下分享 package cn.jbit.array; import java.util.*; public class Insert { public static void main(String[] args) { //字符排序 char[] chars = new char[9]; chars[0] = 'a'; chars[1] = 'c'; chars[2] = 'u'; chars[3] = 'b'; cha

随机推荐