python中怎么从一个列表中可重复的随机抽取元素构成新列表?
发布网友
发布时间:2022-04-23 04:27
我来回答
共2个回答
热心网友
时间:2022-04-07 13:02
用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()里的参数是被操作对象。用法:获取对象内的参数个数
热心网友
时间:2022-04-07 14:20
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())