You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义实现split()方法时最后一个单词未加入列表,求修正代码

修正后的字符串split复现代码

问题原因

你的代码仅在遇到空格时将临时存储的单词追加到结果列表,但最后一个单词后没有空格触发判断逻辑,导致它一直留在count变量中未被加入最终结果。

修正代码

def splitstring(s):
    a = []
    count = ''
    for i in s:
        if i == ' ':
            a.append(count)
            count = ''
        else:
            count += i
    # 循环结束后,处理最后一个未被追加的单词
    if count:
        a.append(count)
    return a

# 测试示例
input_str = 'Hello World'
print(splitstring(input_str))  # 输出: ['Hello', 'World']

可选优化(对齐原生split()行为)

如果需要处理连续空格、字符串首尾空格的场景,可以调整逻辑避免生成空字符串:

def splitstring(s):
    a = []
    count = ''
    for i in s:
        if i == ' ':
            # 仅当临时变量不为空时才追加,跳过连续空格
            if count:
                a.append(count)
                count = ''
        else:
            count += i
    # 处理最后一个单词
    if count:
        a.append(count)
    return a

# 测试特殊场景
print(splitstring('  Hello   Python  '))  # 输出: ['Hello', 'Python']

内容的提问来源于stack exchange,提问作者Debayan Pal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:23:34