python - python list的条件合并元素
问题描述
假设我有以下列表,['x','alpha','bravo','charlie','x','jack','x','mango','norway']
我想要以下输出 ['x','alpha,bravo,charlie','x','jack','x','mango,norway']
我怎样才能做到这一点?
解决方案
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']
>>>
推荐阅读
- android - Handler.postDelayed 在 Activity 的 onCreate 内
- c# - 使用 PrincipalContext 查找用户的 AD 组时出错
- go - 为什么超时直接关闭连接而不是调用closeHandler方法?
- mysql - mysql innodb 表的 row_format 不一致
- pandas - 了解 pandas 多索引和双括号
- asp.net - 带有下拉列表编辑的 Gridview 不起作用正在恢复 dropdwon 列表的第一个值
- python - 熊猫数据帧上的 s3fs gzip 压缩
- java - 如果登录 1 次,在再次启动应用程序时打开 MainActivity?
- angular - 如何调试这个缓慢的 webpack 构建?
- java - 应用程序服务未在启动时启动