如何在列表python中为每个字符串消除间距,换行符以空格分隔的字符串

Vas*_*ash 1 python whitespace list removing-whitespace

大家好,我是python的新手,想要一些帮助.我有一些示例数据,想知道如何摆脱每个列表中每个字符串的间距.

data = [
 ['In dolore     .'], ['Voluptatum.    '],
 ['Veniam hic non minima.         '],
 ['Dolores       Quis enim'], 
 ['     sequi ducimus']
 ]
 print data
Run Code Online (Sandbox Code Playgroud)

我想要的输出:

data = [
 ['In dolore.'], ['Voluptatum.'],
 ['Veniam hic non minima.'],
 ['Dolores Quis enim'], 
 ['sequi ducimus']
 ]
Run Code Online (Sandbox Code Playgroud)

以下是我认为可行的两种方式,但没有

for i in data:
str = ''.join(data)
final_data = str.replace("  ","")
print final_data
Run Code Online (Sandbox Code Playgroud)

我最后的尝试是这样的:

final_data = ''.join(data) 
final_data.replace("  ", "") 
print final_data
Run Code Online (Sandbox Code Playgroud)

Nic*_*man 5

你可以在这里使用正则表达式

import re
for i in range(len(data)):
    data[i][0] = re.sub(r'(\w)\s\s+(\w)', r'\1 \2', data[i][0])
    data[i][0] = re.sub(r'\s\s+', r'', data[i][0])
    data[i][0] = re.sub(r"(\w)\s([.])", r"\1\2", dat[i][0])
Run Code Online (Sandbox Code Playgroud)

正则表达式模式\s\s+匹配2个或更多空格字符的所有组.如上所述,如果两个单词之间的空格超过1,则会消除单词之间的间距.将r'\w\s\s+\w', r'\1 \2'通过消除字边界之间的空间有一个空格需要照顾那个.

还要注意,这是data[i][0]因为奇怪的是数据是一个列表列表.