首页 > 解决方案 > 连接python列表中的单个元素

问题描述

我有一个这样的嵌套列表:

lst =[['Start двигаться', 'другая сторона света', 'надолго скоро'],
      ['Start двигаться', 'другая сторона света', 'чтобы посмотреть'],
      ['Start двигаться', 'новая планета'],
      ['Start двигаться', 'сторона признание', 'суверенитет израильский'],
      ['Start двигаться', 'сторона признание', 'высот', 'на'],
      ['Start двигаться', 'сторона признание', 'высот', 'оккупировать'],
      ['Start двигаться', 'сторона признание', 'высот', 'Голанский'],
      ['Start двигаться', 'сторона признание', 'и']]

我需要检查最后一个元素是否是单个单词,如果是,则将其与前一个元素连接。期望的输出:

    [['Start двигаться', 'другая сторона света', 'надолго скоро'], 
     ['Start двигаться', 'другая сторона света', 'чтобы посмотреть'],
     ['Start двигаться', 'новая планета'],
     ['Start двигаться', 'сторона признание', 'суверенитет израильский'],
     ['Start двигаться', 'сторона признание', 'высот на'],
     ['Start двигаться', 'сторона признание', 'высот оккупировать'],
     ['Start двигаться', 'сторона признание', 'высот Голанский'],
     ['Start двигаться', 'сторона признание и']]

到目前为止,我考虑过检查最后一个元素是否有空格:

for i in lst:
    for j in i:
        if " " not in j[-1]:
            do smth

但我不确定这是正确的方法。任何帮助,将不胜感激!

标签: pythonstringpython-3.xlist

解决方案


你在正确的轨道上,但你不需要第二个循环:

for sublist in lst:
    if ' ' not in sublist[-1]:
        # merge the last two elements
        text = '{} {}'.format(sublist[-2], sublist.pop())
        sublist[-1] = text

# result:
# [['Start двигаться', 'другая сторона света', 'надолго скоро'],
#  ['Start двигаться', 'другая сторона света', 'чтобы посмотреть'],
#  ['Start двигаться', 'новая планета'],
#  ['Start двигаться', 'сторона признание', 'суверенитет израильский'],
#  ['Start двигаться', 'сторона признание', 'высот на'],
#  ['Start двигаться', 'сторона признание', 'высот оккупировать'],
#  ['Start двигаться', 'сторона признание', 'высот Голанский'],
#  ['Start двигаться', 'сторона признание и']]

推荐阅读