Re: [問題] 排列組合

看板Python作者 (朱子)時間16年前 (2008/10/27 23:05), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串15/17 (看更多)
※ 引述《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
文章代碼(AID): #191TZCbA (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 15 之 17 篇):
文章代碼(AID): #191TZCbA (Python)