計算排列數目的最快方法是什麼?我有以下問題:在Python中計算排序
首先我有這:
ncombos = itertools.combinations_with_replacement(['a1', 'a2', 'a3'], years*n)
('a1', 'a1', 'a1')
('a1', 'a1', 'a2')
('a1', 'a1', 'a3')
('a1', 'a2', 'a2')
.... etc.....
('a3', 'a3', 'a3')
目的是要經過每一個,並計算每一個有排列的數量和構建具有這些值的陣列。我實現這一點使用:
nodes = np.ones(len(leafs)); i=0 #This will store the number of permutations
for j in ncombos:
nodes[i] =len(list(set(itertools.permutations(np.asanyarray(j), n))))
i = i+1
np.asanyarray(j)的轉換( 'A1', 'A1', 'A1')轉換成正式[ 'A1', 'A1', 'A1'],這是需要排列()來工作。設置擦除相同的排列。列表列出了這個。 len計算我可以用a1,a1,a1進行多少置換。
所以基本上我想要的是統計排列的數量......但是我的代碼非常棒!慢 !謝謝!
你能有所正式定義你的問題?我不明白你想要計算什麼。 – nhahtdh 2013-05-09 02:05:59