下面是拆分句子"s"的代码.
s = "1 a 3 bb b8"
b = s.split()
print(b)
上述代码的输出为['1', 'a', '3', 'bb', 'b8']
.
所需输出为['1', 'a', '3', 'bb', ' b8']
.请注意,最后一个字段中只有一个空格.
下面是拆分句子"s"的代码.
s = "1 a 3 bb b8"
b = s.split()
print(b)
上述代码的输出为['1', 'a', '3', 'bb', 'b8']
.
所需输出为['1', 'a', '3', 'bb', ' b8']
.请注意,最后一个字段中只有一个空格.
这是一个棘手的问题,这使得使用泛型函数很难,因此需要一些自定义代码.
为了让b8更有趣,我在b8之前用了3个空格的s = s = "1 a 3 bb b8"
:)
因此,你可以做的第一件事是明确指定分割中的限制:
s.split(' ')
将给出以下结果:['1', 'a', '3', 'bb', '', '', 'b8']
现在,您必须将''
解释为需要添加到下一个非空字符串中的' '
.在下面的for循环中,您将实现将空格放在预期位置的"业务规则".
split_list = []
buffer = ''
for elt in temp_split:
if elt != "":
split_list.append(buffer + elt)
buffer = ''
else:
buffer += ' '
print(split_list)
结果是:['1', 'a', '3', 'bb', ' b8']