Re: [問題] 排列組合
不用遞迴可以活得更好,尤其在 n 太大(e.g. > 6)的情況:
def decode(x,n):
s = ""
base="ATCG"
for i in xrange(n):
s += base[x%4]
x /= 4
return s
def gen(n):
for x in xrange(4**n):
print decode(x,n),
※ 引述《zhouer ( )》之銘言:
: ※ 引述《incisive (中肯!)》之銘言:
: : 用ATCG排列出所有長度為8的序列組合?
: : 原本想用 1..65536 去 mod 4
: : 把數字轉換成4進位
: : 好像又有點複雜
: : 不知道各位有沒有比較好的寫法?
: 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: 61.59.19.38
※ 編輯: ykjiang 來自: 61.59.19.38 (10/25 16:25)
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
1
1
以下文章回應了本文 (最舊先):
問題
3
8
完整討論串 (本文為第 5 之 17 篇):
問題
0
2
問題
7
14
問題
1
5
問題
1
5
問題
1
1
問題
3
8
問題
1
1