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

Python不使用split()函数拆分字符串时返回单个字符问题求解

问题成因
  • 你的逻辑仅对单个字符做判断,只要字符不是空格就直接追加到结果列表,字符串执行+=操作时会把单个字符作为独立元素加入列表,自然会得到每个元素为单个字符的结果。
  • 缺少完整单词的拼接逻辑:没有临时变量累计拼接当前单词,也没有触发单词存入结果列表的判断(遇到空格时将拼接好的单词存入列表)。
  • 代码中的全局变量i、循环内的i+=1均为无效代码,for循环的遍历变量i每次都会被range()生成的序列值覆盖,手动修改不会影响遍历进度。
修正方案

核心逻辑是新增临时变量存储当前正在拼接的单词,遇到空格时将已拼接完成的单词存入结果列表,遍历结束后补充存入末尾的单词即可,修正后代码如下:

def n_split(i_str):
    new_list = []
    current_word = ""
    for char in i_str:
        if char != ' ':
            # 不是空格就拼接到当前单词
            current_word += char
        else:
            # 遇到空格且当前单词不为空时,存入结果,避免连续空格生成空元素
            if current_word:
                new_list.append(current_word)
                current_word = ""
    # 遍历结束后,补充存入最后一个没有空格触发存入的单词
    if current_word:
        new_list.append(current_word)
    return new_list

inp_str = input("Enter the string:")
print("List:")
print(n_split(inp_str))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:15:04