大家好,我是 python 的新手,需要一些帮助。我有一些示例数据,想知道如何去掉每个列表中每个字符串的间距。
data = [
['In dolore .'], ['Voluptatum. '],
['Veniam hic non minima. '],
['Dolores Quis enim'],
[' sequi ducimus']
]
print data
我想要的输出:
data = [
['In dolore.'], ['Voluptatum.'],
['Veniam hic non minima.'],
['Dolores Quis enim'],
['sequi ducimus']
]
下面是我认为可行但没有可行的两种方法
for i in data:
str = ''.join(data)
final_data = str.replace(" ","")
print final_data
我最后的尝试是这样的:
final_data = ''.join(data)
final_data.replace(" ", "")
print final_data
最佳答案
你可以在这里使用正则表达式
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])
正则表达式模式 \s\s+
匹配所有 2 个或更多空白字符组。如前所述,如果两个单词之间的空格超过 1 个,则可以消除单词之间的空格。 r'\w\s\s+\w', r'\1\2'
通过用一个空格消除单词边界之间的空格来解决这个问题。
另请注意,它是 data[i][0]
,因为奇怪的是数据是列表的列表。
关于python - 我将如何消除间距,换行符为我的列表 python 中的每个字符串都有一个空格分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44925475/