取出列表中某些项目的最后一个字母
Taking out the last letter of some items in a list
我有如下列表:
['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 具有前瞻性 returns 包含单词和换行符(如果存在)的列表,或者仅包含单词
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)
这很容易,但你必须记住“\n”被视为单个字符,所以你必须将其视为只有 1 个字母。
您可以这样做:
elements = ['Singh Sumer',
'Li Sheng\n',
'Hahn Vanessa',
'Ruiter Dana',
'Kleinbauer Thomas',
'Klakow Dietrich\n',
'Caselli Tommaso']
output = []
for index, element in enumerate(elements):
output.append(element.strip())
if element[-1:] == "\n":
output.insert(index+1, "\n")
print (output)
输出为:
['Singh Sumer', 'Li Sheng', '\n', 'Hahn Vanessa', 'Ruiter Dana', 'Kleinbauer Thomas', '\n', 'Klakow Dietrich', 'Caselli Tommaso']
我有如下列表:
['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 具有前瞻性 returns 包含单词和换行符(如果存在)的列表,或者仅包含单词
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)
这很容易,但你必须记住“\n”被视为单个字符,所以你必须将其视为只有 1 个字母。
您可以这样做:
elements = ['Singh Sumer',
'Li Sheng\n',
'Hahn Vanessa',
'Ruiter Dana',
'Kleinbauer Thomas',
'Klakow Dietrich\n',
'Caselli Tommaso']
output = []
for index, element in enumerate(elements):
output.append(element.strip())
if element[-1:] == "\n":
output.insert(index+1, "\n")
print (output)
输出为:
['Singh Sumer', 'Li Sheng', '\n', 'Hahn Vanessa', 'Ruiter Dana', 'Kleinbauer Thomas', '\n', 'Klakow Dietrich', 'Caselli Tommaso']