python 合并list中相邻的元素成一个元素

现在遇到一个问题,['a', 'a', 'a', '  ', '  ', 'a', '  ', '   ', '  ' ],想变成['a', 'a', 'a', '  ', 'a', '  '],

就是仅只在遇到连续的多个空格字符时将其合并成一个字符,但是不合并其他的字符,谢谢

Test:

['x', 'c', '  ', '  ','  '] ->['x', 'c', '  ']

['  ', '  ', 'a', 'b', 'c' ,'  ' ] -> ['  ', 'a', 'b', 'c' , '  ']

list1 = ['  ','a', 'a', 'a', '  ', '  ', 'a', '  ', '  ', '  ' ]
# list1 = ['  ', '  ', 'a', 'b', 'c' ,'  ' ]
# list1 = ['x', 'c', '  ', '  ','  ']

list2 = []
for i in range(len(list1)-1):
    if list1[i]=='  ' :
        if list1[i+1]=='  ':
            if len(list1)-1 ==i+1:
                list2.append(list1[i])
        else:
            list2.append(list1[i])
    else:
        list2.append(list1[i])
        if len(list1) - 1 == i + 1:
            if list1[i + 1] == '  ':
                list2.append(list1[i + 1])
print(list2)

 

不就是删除空格的元素么? 您这个可以自己写代码吧?  可以参考: https://blog.csdn.net/gzxiaomei/article/details/109176927

a = ['  ', '  ', 'a', 'b', 'c' ,'  ' ] 
b = []
for i,j in enumerate(a):
    if i >= 1:
        if j.isspace():
            if not a[i-1].isspace():
                b.append(j)
        else:
            b.append(j)
    else:
        b.append(j)
print(b)