我有一个列表:
list_to_transform = [['Start', 'двигаться', 'конгресс', 'сша'],
['Start', 'двигаться', 'сторона', 'в'],
['Start', 'двигаться', 'сторона', 'признание', 'суверенитет', 'израильский'],
['Start', 'двигаться', 'сторона', 'признание', 'высот', 'на'],
['Start', 'двигаться', 'сторона', 'признание', 'высот', 'оккупировать'],
['Start', 'двигаться', 'сторона', 'признание', 'высот', 'Голанский'],
['Start', 'двигаться', 'сторона', 'признание', 'и']]
我需要的是将每两个单词组合成一个字符串,如果剩下一个单词,则将其与前两个单词组合:
result =[['Start двигаться', 'конгресс сша'],
['Start двигаться', 'сторона в'],
['Start двигаться', 'сторона признание', 'суверенитет израильский'],
['Start двигаться', 'сторона признание', 'высот на'],
['Start двигаться', 'сторона признание', 'высот оккупировать'],
['Start двигаться', 'сторона признание', 'высот Голанский'],
['Start двигаться', 'сторона признание и']]
有什么优雅的方法吗?任何帮助将不胜感激!
最佳答案
您可以使用 map('{} {}'.format, lst[::2], lst[1::2])
将相邻单词连接到一个偶数长度的列表中。剩下的就是处理奇怪的情况并映射到列表的 lsit 上。
lsts = [['Start', 'двигаться', 'конгресс', 'сша'],
['Start', 'двигаться', 'сторона', 'в'],
['Start', 'двигаться', 'сторона', 'признание', 'суверенитет', 'израильский'],
['Start', 'двигаться', 'сторона', 'признание', 'высот', 'на'],
['Start', 'двигаться', 'сторона', 'признание', 'высот', 'оккупировать'],
['Start', 'двигаться', 'сторона', 'признание', 'высот', 'Голанский'],
['Start', 'двигаться', 'сторона', 'признание', 'и']]
def proc_single(lst):
# join adjacent words
res = list(map('{} {}'.format, lst[::2], lst[1::2]))
# correct for lists with odd length
if len(lst) % 2:
res[-1] = '{} {}'.format(res[-1], lst[-1])
return res
for lst in lsts:
print(proc_single(lst))
# ['Start двигаться', 'конгресс сша']
# ['Start двигаться', 'сторона в']
# ['Start двигаться', 'сторона признание', 'суверенитет израильский']
# ['Start двигаться', 'сторона признание', 'высот на']
# ['Start двигаться', 'сторона признание', 'высот оккупировать']
# ['Start двигаться', 'сторона признание', 'высот Голанский']
# ['Start двигаться', 'сторона признание и']
关于python - 在 Python 中连接成对的列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50471870/