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

Python多字符串存入列表问题:代码输出不符预期的排查

问题分析与解决:输入字符串存入列表不符合预期

代码问题点

你的核心错误在于循环逻辑:splitinput1本身已经是分割后的目标列表(比如输入A B C后得到['A','B','C']),但你在for x in range(len(splitinput1))循环中,每次都把整个splitinput1列表添加到test里。因为splitinput1的长度是3,循环执行3次,最终test就变成了包含3个相同子列表的嵌套列表,这就是输出不符合预期的原因。

解决方法

方法1:直接赋值(最简单)

既然splitinput1已经是你需要的列表,直接将其赋值给test即可,无需循环:

test = []
input1 = input("Enter multiple strings: ")
splitinput1 = input1.split()
test = splitinput1
print(test)
print(len(test))

方法2:循环添加单个元素(保留append逻辑)

如果一定要用append实现,需要遍历splitinput1中的每个元素,逐个添加到test:

test = []
input1 = input("Enter multiple strings: ")
splitinput1 = input1.split()
for item in splitinput1:
    test.append(item)
print(test)
print(len(test))

方法3:列表推导式(简洁写法)

用列表推导式可以一行完成转换:

input1 = input("Enter multiple strings: ")
test = [item for item in input1.split()]
print(test)
print(len(test))

测试结果

以上三种方法输入A B C后,都会输出:

['A', 'B', 'C']
3

完全符合你的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:05:24