[問題] 如果讓無間隔的連續字 推得字典對應值?

看板Python作者 (你爸)時間3年前 (2021/11/23 04:22), 3年前編輯推噓3(304)
留言7則, 3人參與, 3年前最新討論串1/1
請教各位前輩 有一字串是:’CGTGATTACG’ 假設給一字典={‘A’:’CGT’, B:’TACG’, ‘C’:’TT’, ‘D’:’GAT’} 要如何能print 出‘ADB’? 目前想法是先把字典轉成list,把字串切割排進list 如[‘C’, ‘CG’, ‘CGT’, ‘CGTG’...] 再用for loop , if 字串list[(變數1):(變數2)]==原字典list[(變數3)][1] 不過for loop的變數與迭代不知該如何設定 才不會造成判斷時字串重複? Ex: 字串第五位開始的TTACG, 會被我切成’T’, ’TT’, ‘TTA’...’TACG’ 造成判 斷到C(TT) 跟B(TACG) 結果就變成’ADCB’ 應該如何解決呢? 感謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.232.154.245 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1637612557.A.D08.html

11/23 05:40, 3年前 , 1F
11/23 05:40, 1F

11/23 13:01, 3年前 , 2F
可以用 startswith
11/23 13:01, 2F

11/23 13:01, 3年前 , 3F
謝謝二位,但是想請問如果字串中間有空格,為何用startswith會無法break? 我在字典中加入‘ ’:’ ‘ 是不可行的嗎 謝謝 ※ 編輯: ajjj840569 (36.232.158.125 臺灣), 11/23/2021 21:27:55

11/23 22:13, 3年前 , 4F
我的範例沒有加上例外處理機制 必須確保關鍵字連續 空
11/23 22:13, 4F

11/23 22:13, 3年前 , 5F
白可以加進字典 但不能切到關鍵字 最好的方式還是自己
11/23 22:13, 5F

11/23 22:13, 3年前 , 6F
加上例外處理
11/23 22:13, 6F
有成功了,不過如果我將txt file轉成list再轉字串 放到這個code跑 好像會一直跑不完@@ 但改成直接讀txt檔就可以 ※ 編輯: ajjj840569 (36.232.158.125 臺灣), 11/23/2021 22:29:56

11/24 18:49, 3年前 , 7F
這看起來用trie 的資料結構就可以了
11/24 18:49, 7F
文章代碼(AID): #1Xc_mDq8 (Python)
文章代碼(AID): #1Xc_mDq8 (Python)