看板 [ Python ]
討論串[問題] 排列組合
共 17 篇文章

推噓1(1推 0噓 1→)留言2則,0人參與, 最新作者holio (Hydra)時間16年前 (2008/10/25 20:51), 編輯資訊
0
0
0
內容預覽:
湊熱鬧. def perm(string):. string = list(string). for n in range(len(string) - 1) * len(string):. yield "".join(string). string[n], string[n+1] = string[

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者ykjiang (York)時間16年前 (2008/10/25 17:03), 編輯資訊
0
0
0
內容預覽:
剛剛發現 print 太頻繁,拖慢了整個速度,修改如下:. def decode(x,n):. s = []. base="ATCG". for i in xrange(n):. s += base[x%4]. x /= 4. return "".join(s). def gen(n):. retu

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者ykjiang (York)時間16年前 (2008/10/25 14:56), 編輯資訊
0
0
0
內容預覽:
不用遞迴可以活得更好,尤其在 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

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者zhouer ( )時間16年前 (2008/10/24 23:32), 編輯資訊
0
0
0
內容預覽:
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: 123.

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者incisive (中肯!)時間16年前 (2008/10/24 22:28), 編輯資訊
0
0
0
內容預覽:
感謝ykjiang的推文. 不過 後來我還是用小學的短除法來寫. 貼上來自問自答一下 XD. dna='ATCG'. mlength=8. for i in range(4**mlength):. seq = dna[i%4]. q = i/4. while (q >= 4):. seq = seq
(還有78個字)