我将如何消除间距、换行符以使列表 python 中的每个字符串都有一个 space 分隔的字符串
How would I eliminate spacing, line breaks to have a space-delimited string for each string within my list python
大家好,我是 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
print [[s.replace(" ","")] for l in data for s in l ]
你可以在这里使用正则表达式
import re
for i in range(len(data)):
data[i][0] = re.sub(r'(\w)\s\s+(\w)', r' ', data[i][0])
data[i][0] = re.sub(r'\s\s+', r'', data[i][0])
data[i][0] = re.sub(r"(\w)\s([.])", r"", dat[i][0])
正则表达式模式 \s\s+
匹配所有包含 2 个或更多白色space 字符的组。如前所述,如果两个单词之间的间距超过 1 space,则可以消除单词之间的间距。 r'\w\s\s+\w', r' '
通过用单个 space.
消除单词边界之间的 space 来解决这个问题
还要注意它是 data[i][0]
因为奇怪的是数据是列表的列表。
import re
final_data = [[re.sub('\s+\.', '.', re.sub('\s+', ' ', s)).strip()] for l in data for s in l]
print final_data
[['In dolore.'], ['Voluptatum.'], ['Veniam hic non minima.'], ['Dolores Quis enim'], ['sequi ducimus']]
这种方式删除了前导和尾随空格,而内部空格并未完全消除。
内部替换用单个空格替换多个空白字符,外部替换消除句点前的空白字符。 strip
函数消除前导和尾随空格。
大家好,我是 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
print [[s.replace(" ","")] for l in data for s in l ]
你可以在这里使用正则表达式
import re
for i in range(len(data)):
data[i][0] = re.sub(r'(\w)\s\s+(\w)', r' ', data[i][0])
data[i][0] = re.sub(r'\s\s+', r'', data[i][0])
data[i][0] = re.sub(r"(\w)\s([.])", r"", dat[i][0])
正则表达式模式 \s\s+
匹配所有包含 2 个或更多白色space 字符的组。如前所述,如果两个单词之间的间距超过 1 space,则可以消除单词之间的间距。 r'\w\s\s+\w', r' '
通过用单个 space.
还要注意它是 data[i][0]
因为奇怪的是数据是列表的列表。
import re
final_data = [[re.sub('\s+\.', '.', re.sub('\s+', ' ', s)).strip()] for l in data for s in l]
print final_data
[['In dolore.'], ['Voluptatum.'], ['Veniam hic non minima.'], ['Dolores Quis enim'], ['sequi ducimus']]
这种方式删除了前导和尾随空格,而内部空格并未完全消除。
内部替换用单个空格替换多个空白字符,外部替换消除句点前的空白字符。 strip
函数消除前导和尾随空格。