python - 如何在 Python 的子列表中合并连续的字符串项?
问题描述
我想从列表中子列表的所有元素中删除特殊字符。我该怎么做?
list = [['abch', 'def',1,11],['cdjje', 'fef',2,22],['oefg', 'pqkjbr',3,33]]
'abc', 'def' 是一个字符串,', ' 应该被替换为空格。预计输出为:
list = [['abch def',1,11],['cdjje fef',2,22],['oefg pqkjbr',3,33]]
我正在尝试下面的代码,但它似乎不起作用:
value_list=[]
for idx, item in enumerate(list):
value_list[idx] = re.sub(r"', '"," ", str(item[0:-2]))
print(value_list)
解决方案
您可以使用
lst = [['abc', 'def',1,11],['cde', 'fef',2,22],['efg', 'pqr',3,33]]
result = []
for l in lst:
res = []
for i, s in enumerate(l):
if isinstance(s, str):
if len(res) > 0 and isinstance(res[i-1], str):
res[i-1] += f" {s}"
else:
res.append(s)
else:
res.append(s)
result.append(res)
print(result)
# => [['abc def', 1, 11], ['cde fef', 2, 22], ['efg pqr', 3, 33]]
请参阅Python 演示。注意:不要将变量命名为内置变量,list
它是 Python 内置的,您可以为列表使用其他名称,例如lst
,l
等。
推荐阅读
- graphql - 如何在 0.20+ 版本的 graphql nexus 框架中导出模式?
- azure-devops - 标记上的 Azure Pipeline 触发器
- python - Python:无法将文件拆分为多个文件
- mysql - SQL 查询中的 case 语句
- excel - 循环复制/粘贴,直到等于最后使用的列
- python - 用于编辑 csv 的简单“查找和替换”Python 脚本会出错
- docker - WSL2 中的 Kubernetes 挂载文件夹
- postgresql - MyBatis 中的解析错误插入到带有静态值的表选择中
- c++ - 仅当类型为 std::complex 时才缩放
- node.js - 如何为猫鼬模型的对象设置对象属性是唯一的?