Re: [问题] list处理连续出现字符

楼主: bigpigbigpig (To littlepig with love)   2014-10-03 18:50:47
※ 引述《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 一行搞定 :)
作者: liataian (T-PANY FOREVER)   2014-10-03 19:09:00
推, 原po应该就是想要找a或b每次出现的连续次数
作者: elmo56 (小树芽)   2014-10-05 15:41:00
谢谢 我在题目表达不清 你仍愿意解答

Links booklink

Contact Us: admin [ a t ] ucptt.com