_Aulfa_ 2021-03-21 22:07 采纳率: 75%
浏览 391
已采纳

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

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

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

Test:

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

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

  • 写回答

3条回答 默认 最新

  • 我不喜欢这个世界 2021-03-21 23:34
    关注
    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)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 判断两个表是否完全相同
  • ¥20 工控机出现散热器转一下停一下这种情况,是什么原因造成的
  • ¥15 双显卡,启动docker容器报错。
  • ¥15 想编写一个期货跨期套利的程序
  • ¥15 一个线程在sleep的时候set一个信号会起作用吗
  • ¥50 如何利用matlab将现有的地基雷达回波数据调制为机载雷达回波数据
  • ¥100 需求高精度PT100设计电路和算法
  • ¥15 单片机配网,继电器开关,广播
  • ¥60 Qcustomplot绘制实时动态曲线
  • ¥20 运用matlab画x-y图