删除Python列表中的相邻重复项

baq*_*rya 2 python element list python-3.x

我将字符串转换a为列表,我希望循环创建 \xe2\x80\x8dtabb = ['a', 'b', 'c', 'a']

\n\n
a = aaabbbbcccaaa\n\ntaba = list(a)\ntabb = []\n\nfor i in taba:\n    for j in range(len(tabb)):\n        if not i[j] == i[j-1]:\n            tabb.append(i[j])\n\nprint (tabb)\n
Run Code Online (Sandbox Code Playgroud)\n\n

但显然我的解决方案gives tabb = []

\n\n

您有更好、更简单的想法来让它发挥作用吗?

\n

Ev.*_*nis 5

itertoolsgroupby是你的盟友:

from itertools import groupby

a = 'aaabbbbcccaaa'

res = [x for x, _ in groupby(a)]
print(res)  # -> ['a', 'b', 'c', 'a']
Run Code Online (Sandbox Code Playgroud)

没有任何库(您试图到达的库)的解决方案将是:

res = [a[0]]

for i, c in enumerate(a[1:]):
    if c != a[i]:
        res.append(c)
Run Code Online (Sandbox Code Playgroud)

当然有相同的结果。