Python中如何将字符串格式的列表输入转换为元素独立的真实列表
列表格式输入字符串转Python本地列表解决方案
问题根因
你代码中使用split(', ')设置的分隔符为逗号加空格,但输入的[1,2,3,4]内容里元素之间仅存在逗号无空格,因此split方法未匹配到任何分隔点,导致完整内容被当作单个字符串元素存入列表。
解决方法
方法1:修正分隔符后遍历处理
调整split的分隔符为纯逗号,再对每个元素做去空格处理即可,若需要数值类型可额外做类型转换:
a = input() # 输出元素为字符串类型 b = [x.strip() for x in a.strip('][').split(',')] # 若需要元素为整数类型,替换为以下代码 # b = [int(x.strip()) for x in a.strip('][').split(',')] print(b)
方法2:使用ast.literal_eval(更推荐)
对于符合Python字面值格式的字符串,直接用ast模块的literal_eval方法转换,支持嵌套列表、带空格等各种符合规范的列表输入格式,鲁棒性更高:
import ast a = input() b = ast.literal_eval(a) print(b)
内容的提问来源于stack exchange,提问作者sai ram
相关产品推荐
相关产品推荐

