推 ykjiang:Good Job :) 10/26 12:03
※ 引述《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)