作者mantour (朱子)
看板Python
标题Re: [问题] 排列组合
时间Sun Oct 26 10:36:29 2008
※ 引述《zhouer ( )》之铭言:
: ※ 引述《ykjiang (York)》之铭言:
: : 不用递回可以活得更好,尤其在 n 太大(e.g. > 6)的情况:
: 我也是这麽觉得 :)
: 我刚测试了 n = 10 的 case
: 精益求精版约 6.655s
: 下面的版本约 2.621s
测n=10时
def gen1(n):
list=['']
for i in range(n):
tmp=[j+k for j in list for k in 'ATCG']
list=tmp
return list
3.949s
下面的版本在我的电脑上测n=10为17.545s
: : def gen(n):
: : if n == 0:
: : return ['']
: : else:
: : return [x + y for x in ['A', 'T', 'C', 'G'] for y in gen(n - 1)]
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.213.158
※ 编辑: mantour 来自: 140.112.213.158 (10/26 10:39)
1F:推 ykjiang:Good Job :) 10/26 12:03