我正在將Python用于一個項目,對于該項目的一部分,我需要獲得一個字符串庫的混亂排列,并將其輸入到方法中。我想得到一個可復(fù)制的結(jié)果,所以我目前正在使用itertools庫的排列方法,然后循環(huán)遍歷它,直到我達到某個排列。然而,循環(huán)瀏覽一堆時間顯然不是最好的時間,特別是對于與更多元素(20 +)的混戰(zhàn)。有沒有一個以前使用過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我的主要目標(biāo)只是找到一種方法,讓我可以獲得一個看似隨機的可復(fù)制的爭奪,但可以根據(jù)我輸入的int進行復(fù)制。我對任何建議持開放態(tài)度。
1 回答

慕哥6287543
TA貢獻1831條經(jīng)驗 獲得超10個贊
聽起來您可以使用該模塊:random
import random
random.seed(1) # Choose another number here if you want a different outcome
scrambled = random.sample(library, k=len(library))
每次使用相同的參數(shù)運行它時,您都應(yīng)該獲得相同的值。seed()scrambled
添加回答
舉報
0/150
提交
取消