我有一串我知道要排序的字符。例如:Python - 當字符與前一個字符不同時,將字符串拆分後的字符串
myString = "aaaabbbbbbcccddddd"
我想在點此文件分成列表時我上的字符比其前面的字符不同的,如下所示:
splitList = ["aaaa","bbbbbb","ccc","ddddd"]
我在Python工作3.4。
謝謝!
我有一串我知道要排序的字符。例如:Python - 當字符與前一個字符不同時,將字符串拆分後的字符串
myString = "aaaabbbbbbcccddddd"
我想在點此文件分成列表時我上的字符比其前面的字符不同的,如下所示:
splitList = ["aaaa","bbbbbb","ccc","ddddd"]
我在Python工作3.4。
謝謝!
In [294]: myString = "aaaabbbbbbcccddddd"
In [295]: [''.join(list(g)) for i,g in itertools.groupby(myString)]
Out[295]: ['aaaa', 'bbbbbb', 'ccc', 'ddddd']
myString = "aaaabbbbbbcccddddd"
result = []
for i,s in enumerate(myString):
l = len(result)
if l == 0 or s != myString[i-1]:
result.append(s)
else:
result[l-1] = result[l-1] + s
print result
輸出:
['aaaa', 'bbbbbb', 'ccc', 'ddddd']
我在第7行收到「l」未定義的錯誤。 – adeora 2014-10-29 04:00:43
嗯,奇怪。我會認爲're.split(r'(?<=(。))(?!\ 1)',「aaaabbbbbbcccddddd」)會起作用,但它不會。任何人都可以更好地解釋爲什麼? (編輯錯誤) – Amadan 2014-10-29 03:47:46