为了账号安全,请及时绑定邮箱和手机立即绑定

我试图找到一种更有效的方法,从大型库中选择某个加扰序列

我试图找到一种更有效的方法,从大型库中选择某个加扰序列

www说 2022-09-13 17:28:59
我正在将Python用于一个项目,对于该项目的一部分,我需要获得一个字符串库的混乱排列,并将其输入到方法中。我想得到一个可复制的结果,所以我目前正在使用itertools库的排列方法,然后循环遍历它,直到我达到某个排列。然而,循环浏览一堆时间显然不是最好的时间,特别是对于与更多元素(20 +)的混战。有没有一个以前使用过itertools的人可以告诉我如何更快地找到争夺,或者有人可以给我一个更好的加扰方法?低于 VVV 的代码    import itertoolsfrom itertools import permutationsdef genkey(library, toget):    scrambled = permutations(library)    iternum = 0    for fin in scrambled:        if iternum == toget:            return(list(fin))        else:            iternum += 1    print('Permutation out of range')    return我的主要目标只是找到一种方法,让我可以获得一个看似随机的可复制的争夺,但可以根据我输入的int进行复制。我对任何建议持开放态度。
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

听起来您可以使用该模块:random


import random


random.seed(1)    # Choose another number here if you want a different outcome

scrambled = random.sample(library, k=len(library))

每次使用相同的参数运行它时,您都应该获得相同的值。seed()scrambled


查看完整回答
反对 回复 2022-09-13
  • 1 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号