python - 如果这些元素位于两个空格之间,则连接列表的元素
问题描述
我有这样的输入:
['assembly', '', 'py', 'tho', 'n', '', 'ja', 'va', '', 'rub', 'y', '', 'java', 'script', '', 'c++']
我想在两者之间加入元素''
以获得这样的输出:
['assembly', 'python', 'java', 'ruby', 'javascript', 'c++']
我尝试join
像这样使用和列出切片:
a=['assembly', '', 'py', 'tho', 'n', '', 'ja', 'va', '', 'rub', 'y', '', 'java', 'script', '', 'c++']
a[2:5] = [''.join(a[ 2: 5])]
a=['assembly', '', 'python', '', 'ja', 'va', '', 'rub', 'y', '', 'java', 'script', '', 'c++']
这在某种程度上有效,但我不知道如何为整个列表迭代这条指令。
解决方案
from itertools import groupby
l = ['assembly', '', 'py', 'tho', 'n', '', 'ja', 'va', '', 'rub', 'y', '', 'java', 'script', '', 'c++']
new_l = [''.join(g) for k, g in groupby(l, key = bool) if k]
输出:
['assembly', 'python', 'java', 'ruby', 'javascript', 'c++']
推荐阅读
- c - 如何针对矩阵矩阵乘法内核优化由于 Haswell 中的 L1D 缓存绑定代码导致的管道停顿?
- python - 重写的 QGraphicsView keyPressEvent 从焦点 QGraphicsWidgets 窃取事件
- python - 在 csv 文件中搜索名称并返回整行
- scala - 可以使用反射或类似方法识别/使用 Scala 宏吗?
- go - 戈朗;难以理解作为接收器的功能
- javascript - Javascript 树搜索算法,它返回包含找到的术语及其父项的树的子集
- node.js - docker-compose up 未正确运行应用程序
- node.js - 在 MongoDB 文档字段中添加附件
- python - 尝试从目录中删除文件时出现错误 FileNotFoundError:[WinError 2]
- python - Python - 未处理的异常“未定义名称'main'”