使用
raw_input()代替
input()。
# Python 2.5.4>>> a = raw_input()3, 4, 5>>> a'3, 4, 5'>>> b = a.split(', ')>>> b['3', '4', '5']>>> [s.strip() for s in raw_input().split(",")] # one liner3, 4, 5['3', '4', '5']
具有误导性的名称
input功能无法实现您期望的功能。它实际上将stdin的输入评估为python代码。
以您的情况为例,您所拥有的只是一个元组中的数字
a,所有这些数字都已解析并可以工作,但是通常您并不真正想要使用这种奇怪的副作用。其他输入可能导致任何事情发生。
顺便说一句,他们在Python
3中解决了这个问题,现在该
input功能可以实现您的期望。
还有两件事:
- 您无需进行
import string
简单的字符串 *** 作。 - 就像mjv所说的那样,要将一个元组或一个列表拆分为多个变量,可以对其进行“解压缩”。但是,如果您不知道列表会持续多久,这将是不可行的。
开箱:
>>> l = (1,2,3,4,5)>>> a,b,c,d,e = l>>> e5
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)