Python中如何让input()的拆分结果保留多字符元素而非拆分为单字符
解决Python input输入转列表时多字符内容被拆分的问题
input()函数返回的是字符串类型,直接调用list()构造方法会遍历字符串的每一个字符作为列表元素,因此会把连续的数字拆分为单个字符的元素。
核心解决方法
你输入的内容以逗号,作为分隔符,直接调用字符串的split()方法按逗号拆分即可,示例代码:
res = input("").split(',') print(res)
输入测试:
1,2,3,4,5,78
输出结果:
['1', '2', '3', '4', '5', '78']
此时'78'会作为独立的完整元素存在于列表中。
可选扩展:元素转数值类型
如果你需要列表元素为整数而非字符串,可以用列表推导式处理:
res = [int(i) for i in input("").split(',')] print(res)
输出结果:
[1, 2, 3, 4, 5, 78]
特殊场景适配
如果输入的逗号前后存在空格(例如1, 2, 3, 78),拆分后的元素会携带多余空格,可通过strip()方法清理:
res = [i.strip() for i in input("").split(',')] # 转整数可直接写为 [int(i) for i in input("").split(',')],int()会自动忽略前后空格
内容的提问来源于stack exchange,提问作者wes BOREland
相关产品推荐
相关产品推荐

