Re: [問題] list處理連續出現字元

看板Python作者 (To littlepig with love)時間11年前 (2014/10/03 18:50), 11年前編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《elmo56 (政大柯景騰)》之銘言: : 大家好 : 我剛學PYTHON : 有一個關於LIST的問題 : 我有一筆list,裡面只存在 a跟b : 例如 [a,a,b,b,a,b,a,a] : 我想要判斷a長度跟b長度 : 想法是這樣的 : for i in list: : if list[i+1]=list[i] : len2+=1 : 但我查了好多語法 : 找不到再python這邊的用法 Python 3 : from itertools import groupby L = ['a','a','b','b','a','b','a','a'] len_ab = [ len(list(g)) for k, g in groupby(L) ] print(len_ab) Ans : [2, 2, 1, 1, 2] 感想: Python 這一點比 C++ 方便,我以前用簡單的有限狀態機解決這類問題, 想不到 Python 一行搞定 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.149.71 ※ 文章網址: http://www.ptt.cc/bbs/Python/M.1412333450.A.7EA.html

10/03 19:09, , 1F
推, 原po應該就是想要找a或b每次出現的連續次數
10/03 19:09, 1F

10/05 15:41, , 2F
謝謝 我在題目表達不清 你仍願意解答
10/05 15:41, 2F
※ 編輯: bigpigbigpig (111.243.149.71), 10/05/2014 23:49:17
文章代碼(AID): #1KBd-AVg (Python)
討論串 (同標題文章)
文章代碼(AID): #1KBd-AVg (Python)