用户输入字符串遵循以下模式:
{ 1, 2, 4, 6, 3 }
{ 2, 5, 8, 0, 3, 45, 5 }
如何将任何一个给定的用户输入转换为整数列表。
也许分裂可以像A.split(', ')
一样使用,但我们得到,
A = ['{ 1', '2', '4', '6', '3 }']
但答案,我们想要的应该是,
A = [1, 2, 4, 6, 3]
答案 0 :(得分:1)
将{}
替换为[]
并使用json模块解析:
>>> import json
>>> s = "{ 1, 2, 4, 6, 3 }"
>>> json.loads(s.replace("{","[").replace("}","]"))
[1, 2, 4, 6, 3]
答案 1 :(得分:0)
简单的方法是剥离括号,用逗号分割并转换类型。
System.Web
执行此操作的正确方法与编译器执行此操作的方式相同:使用类似PLY的库在解析之前对输入进行标记化。
(另外,你应该努力做自己的功课并学会写出正确的英语。)
答案 2 :(得分:0)
您可以利用try
和except
来完成此任务。基本上你尝试将字符串的每个字符转换为int,如果成功,则在Python引发错误时将其附加到列表中 - 因为无法转换为int-然后不会附加任何内容。也许这不是最短的代码,但它绝对是非常易读的。
s = '{ 1, 2, 4, 6, 3 }'
result = []
for item in s:
try:
result.append(int(item))
except:
pass
print(result)
>>>[1, 2, 4, 6, 3]