首页 > 解决方案 > python list的条件合并元素

问题描述

假设我有以下列表,['x','alpha','bravo','charlie','x','jack','x','mango','norway']

我想要以下输出 ['x','alpha,bravo,charlie','x','jack','x','mango,norway']

我怎样才能做到这一点?

标签: python

解决方案


from itertools import groupby

items = ["x", "alpha", "bravo", "charlie", "x", "jack", "x", "mango", "norway"]

print([",".join(group) if key else "x" for key, group in groupby(items, key=lambda i: i != "x")])

输出:

['x', 'alpha,bravo,charlie', 'x', 'jack', 'x', 'mango,norway']
>>> 

推荐阅读