计算排列数目的最快方法是什么?我有以下问题:在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