我正在将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
添加回答
举报
0/150
提交
取消
