为了账号安全,请及时绑定邮箱和手机立即绑定

在python中接受逗号分隔的数字以及拆分空格

在python中接受逗号分隔的数字以及拆分空格

肥皂起泡泡 2021-06-15 13:02:41
我正在尝试接受由逗号分隔的整数序列,并希望修剪随之而来的任何空格。我正在使用下面的代码。values = raw_input("Input some comma seprated numbers : ")print "Values are", valuesArr = values.split(",")print "Arr is", Arra = [int(x) for x in Arr.split()]print "a is", a在执行上面的代码片段时,我收到以下异常,$ python accept.pyInput some comma seprated numbers : 1,3, 2Values are 1,3, 2Arr is ['1', '3', ' 2']Traceback (most recent call last):  File "accept.py", line 20, in <module>    a = int(Arr)TypeError: int() argument must be a string or a number, not 'list'如果我提供诸如 1,3,2 或 1 3 2 之类的输入,我可以通过更改代码来成功。但如果我将两者混合使用,就会出现问题。使用 Python 版本 2。(不介意 Python3 解决方案 :))
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

示例输出与您提供的代码片段不匹配,因为错误行是a = int(Arr). 在示例代码中还有一个split()on Arr,它应该引发一个AttributeError,因为Arr它已经是一个列表。


要从字符串的开头/结尾删除空格,请使用strip()方法:


l = values.split(",")

a = [int(x.strip()) for x in l]

ValueError 如果数组包含无法转换为整数的字符串,包括数字之间有空格时,则会引发。


如果要删除所有空格,包括数字之间的空格(将“1 2 3”变为“123”),可以使用类似[src] 的内容:


l = "".join(values.split())

a = [int(x.strip()) for x in l.split(",")]


查看完整回答
反对 回复 2021-06-22
  • 2 回答
  • 0 关注
  • 338 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信