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

如何修改Python循环代码实现按'0'分割字符串生成目标列表?

解决方案

你的需求是把连续的非0字符作为单个元素存入列表,而非逐个字符添加。这里提供两种实现方式:

方法一:修改循环逻辑(手动积累字符块)

通过维护一个临时变量来积累当前连续的非0字符,遇到0时将积累的字符块存入列表(如果不为空),遍历结束后处理最后一段字符:

str1 = "John000Doe000123"

list1 = []
current_chunk = ""

for char in str1:
    if char == "0":
        # 遇到0时,若已有积累的字符块,就加入列表并重置
        if current_chunk:
            list1.append(current_chunk)
            current_chunk = ""
        continue
    # 非0字符则加入当前块
    current_chunk += char

# 处理字符串末尾的最后一段非0字符
if current_chunk:
    list1.append(current_chunk)

print(list1)  # 输出: ['John', 'Doe', '123']

方法二:利用字符串split方法(简洁实现)

直接用split('0')按0分割字符串,再过滤掉分割产生的空字符串(连续0会分割出空值):

str1 = "John000Doe000123"

list1 = [chunk for chunk in str1.split('0') if chunk]
print(list1)  # 输出: ['John', 'Doe', '123']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:31:18