python - 取出列表中某些项目的最后一个字母

标签 python regex list data-cleaning

我有如下列表:

['Singh Sumer',
 'Li Sheng\n',
 'Hahn Vanessa',
 'Ruiter Dana',
 'Kleinbauer Thomas',
 'Klakow Dietrich\n',
 'Caselli Tommaso']

有些成员的末尾有'\n'。我想删除它们并将它们作为列表的以下成员。

所以,我想将其作为输出:

['Singh Sumer',
 'Li Sheng',
 '\n',
 'Hahn Vanessa'
 'Ruiter Dana',
 'Kleinbauer Thomas',
 'Klakow Dietrich',
 '\n',
 'Caselli Tommaso']

我试图获取末尾有“/n”的成员的索引,并将“/n”插入到这些索引中。但是当我使用 insert 函数时,它用 list 的其他成员替换了它们。有什么建议吗?

最佳答案

re.split with lookahead 返回一个包含单词和换行符(如果存在)的列表,或者只返回单词

import re

lst = [
 'Singh Sumer',
 'Li Sheng\n',
 'Hahn Vanessa',
 'Ruiter Dana',
 'Kleinbauer Thomas',
 'Klakow Dietrich\n',
 'Caselli Tommaso'
]
r = []
for s in lst:
    r.extend(re.split(r'(?=\n)', s))
print(r)

关于python - 取出列表中某些项目的最后一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70977037/

相关文章:

python - 如何消除光的偏转

python - 带有 IE11 的 Selenium 3.0.1 在 Windows 10 上找不到元素(在带有 IE11 的 Windows 7 上工作正常)

list - 如何使用lambda,Java在列表迭代结束时返回值

python - 如何在 Python 中搜索元组列表

list - 检查nil指针取消引用的正确方法是什么?

python - 如何使 Django 管理 URL 仅供本地主机访问?

python - 如何 reshape 这个张量?

java - 为 LocalSessionFactoryBean 映射位置指定正则表达式

java - 如何使用 Java 正则表达式从文本中排除双引号?

mysql - 对每一行的 JSON 数据执行正则表达式,并使用 NiFi 插入 MySQL 表