下面是拆分句子"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']

Python相关问答推荐

有症状地 destruct 了Python中的regex?

将数据框架与导入的Excel文件一起使用

按列分区,按另一列排序

如何找到满足各组口罩条件的第一行?

用NumPy优化a[i] = a[i-1]*b[i] + c[i]的迭代计算

如何更改分组条形图中条形图的 colored颜色 ?

如何调整QscrollArea以正确显示内部正在变化的Qgridlayout?

在np数组上实现无重叠的二维滑动窗口

NumPy中条件嵌套for循环的向量化

改进大型数据集的框架性能

matplotlib + python foor loop

如何在Python请求中组合多个适配器?

如何将相同组的值添加到嵌套的Pandas Maprame的倒数第二个索引级别

按条件添加小计列

在任何要保留的字段中添加引号的文件,就像在Pandas 中一样

如何在Quarto中的标题页之前创建序言页

递归链表反转与打印语句挂起

将时间序列附加到数据帧

日志(log)轴上的自定义刻度出现意外的次要刻度标记行为

如何从多个词典中制作Pandas 数据帧?