作者bigpigbigpig (To littlepig with love)
看板Python
標題Re: [問題] list處理連續出現字元
時間Fri Oct 3 18:50:47 2014
※ 引述《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
推 liataian: 推, 原po應該就是想要找a或b每次出現的連續次數 10/03 19:09
推 elmo56: 謝謝 我在題目表達不清 你仍願意解答 10/05 15:41
※ 編輯: bigpigbigpig (111.243.149.71), 10/05/2014 23:49:17