我从一个文本块中制成了一个列表列表,其中每个列表包含一行中的所有单词作为单独的元素,如下所示:
listoflists = [['Lorem', 'ipsum', 'dolor', 'sit', 'amet\n']
['consectetur', 'adipiscing', 'elit', 'donec', 'iaculis\n']]
我希望能够在列表列表中移动,并从列表列表中的每个列表的最后一个元素中删除“ \ n”。
这是我为尝试执行此操作而编写的脚本,但是它不起作用,因为当我返回n时,它仅返回第一个列表的第一个元素。
def remove_linebreaks(input):
for i in data:
for n in i:
if '\n' in n:
n.strip('\n')
return n
else:
return n
return input
我还有其他方法可以做到这一点吗?
只需遍历每个列表,然后将最后一个元素替换为已'\n'
剥离的最后一个元素。
>>> listoflists = [['Lorem', 'ipsum', 'dolor', 'sit', 'amet\n'],
['consectetur', 'adipiscing', 'elit', 'donec', 'iaculis\n']]
>>> for elem in listoflists:
elem[-1] = elem[-1].strip('\n')
>>> listoflists
[['Lorem', 'ipsum', 'dolor', 'sit', 'amet'], ['consectetur', 'adipiscing', 'elit', 'donec', 'iaculis']]
编辑-由于在代码中,您似乎正在剥离\n
可以执行的每个元素
>>> [[elem.strip('\n') for elem in lst] for lst in listoflists]
[['Lorem', 'ipsum', 'dolor', 'sit', 'amet'], ['consectetur', 'adipiscing', 'elit', 'donec', 'iaculis']]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句