看板 Python 關於我們 聯絡資訊
※ 引述《ykjiang (York)》之銘言: : 現在遞迴跟非遞迴版的執行速度又拉近了,執行時間幾乎無差別: : def gen0_2(n): : I = list('ATCG') : if n == 0: : return [''] : else: : return [x+y for x in gen0_2(n-1) for y in I] : def gen1_3(n): : L = [''] : I = list('ATCG') : for i in xrange(n): : L = [j+k for j in L for k in I] : return L def gen1_4(n): L = [''] I = list('ATCG') for i in xrange(n): L = [j+k for k in I for j in L] return L 我測的結果是這樣會再快一點點 : ※ 引述《ykjiang (York)》之銘言: : : 好玩的是,非遞迴版調換迴圈順序後也變快幾近一倍: : : def gen1_2(n): : : L = [''] : : for i in xrange(n): : : L = [j+k for j in 'ATCG' for k in L] : : return L : : 所以現在非遞迴版比遞迴版快一倍 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.213.158