Python以一种棘手的方式加入列表元素

所以,我有这个清单

l = ['abc', 'retro', '', '', 'images', 'cool', '', 'end']

而且,我想以这样的方式加入他们:

l = ['abc retro', '', '', 'images cool', '', 'end']

我尝试了很多方法,但似乎没有任何工作.有什么建议?

您可以使用itertools.groupby和列表理解.使用str.join分组为’s’和’non”并从后者加入项目.理解后面的三元运算符使用组密钥来决定为每个组做什么:

from itertools import groupby

l = ['abc','retro','','','images','cool','','end']

r = [j for k, g in groupby(l, lambda x: x=='') 
                          for j in (g if k else (' '.join(g),))]
print(r)
# ['abc retro', '', '', 'images cool', '', 'end']

转载注明原文:Python以一种棘手的方式加入列表元素 - 代码日志