Python-随机获取列表中的某些元素

Posted ray_kong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-随机获取列表中的某些元素相关的知识,希望对你有一定的参考价值。

一、使用RANDOM库

random库是python的内置库。

1、使用random.randrange(list_length)用于返回介于0到list_index-1之间的一个随机值。

import random

random_value = random.randrange(len(list))

2、使用random.choice(list)将列表作为输入,返回列表中的一个随机元素。

import random

random_value = random.choice(list)

3、使用random.sample(list_name, number)返回列表中指定number个随机元素。

import random

random_value = random.sample(list, number)

二、使用secrets库

目录

一、使用RANDOM库

1、使用random.randrange(list_length)用于返回介于0到list_index-1之间的一个随机值。

2、使用random.choice(list)将列表作为输入,返回列表中的一个随机元素。

3、使用random.sample(list_name, number)返回列表中指定number个随机元素。

二、使用secrets库

1、使用secrets.randbelow(list_length)用于返回介于0到list_index-1之间的一个安全随机索引。

2、使用secrets.choice(list_name)将列表作为输入,返回列表中的一个安全随机元素。

3、使用secrets.SystemRandom().sample(list_name, number)返回列表中指定number个安全随机元素。


secrets库是比random库更安全的python内置库,专门用于生成密码级的安全随机数。

1、使用secrets.randbelow(list_length)用于返回介于0到list_index-1之间的一个安全随机索引。

import secrets

random_index = secrets.randbelow(len(list))
random_value = list[random_index]

2、使用secrets.choice(list_name)将列表作为输入,返回列表中的一个安全随机元素。

3、使用secrets.SystemRandom().sample(list_name, number)返回列表中指定number个安全随机元素。

python中怎么从一个列表中可重复的随机抽取元素构成新列表?

用random模块里的sample和randint方法就可以实现你的需求

例,代码:

import random #导入random模块
a=[1,2,2,2,3,'python','test','recode','java'] #测试对象
b=random.sample(a,random.randint(0,len(a))) #随机获取列表参数并赋值给新的变量b
print(b)

结果:

需求已经实现

补充:

sample()里的第一个参数是被操作对象,第二个参数是随机截取的长度。用法:随机截取对象的片段

randint()里的参数是一个整形数范围,比如【0,1000】等等。用法:随机获取给定范围内的数字

len()里的参数是被操作对象。用法:获取对象内的参数个数

参考技术A import string
import random
 
 
class CaptchaCreator:
 
    @staticmethod
    def random_seq(choice_seq, count=6, repeatable=True):
        # 将其中的choice_seq,count 改为你需要的参数
        if repeatable:
            return [random.choice(choice_seq) for _ in range(count)]
        return random.sample(choice_seq, count)
 
    def shuffle(self):
        digits = self.random_seq(string.digits)
        random.shuffle(digits)
        return digits
 
 
if __name__ == '__main__':
    c = CaptchaCreator()
    print(c.shuffle())

以上是关于Python-随机获取列表中的某些元素的主要内容,如果未能解决你的问题,请参考以下文章

python中编写一个模块,模块中包含随机生成N个元素的列表、排序列表、求最大

python提取list中的元素

python 列表删除元素问题?

python之元组,列表和字典的区别

从python中的列表中选择某些元素

python基础一 ------如何统计一个列表元素的频度