我尝试使用raw_input()获取数字列表,但是使用代码
numbers = raw_input()
print len(numbers)
Run Code Online (Sandbox Code Playgroud)
输入[1,2,3]给出了结果7,所以我猜它将输入解释为是一个字符串.有没有直接的方法来制作清单?也许我可以re.findall用来提取整数,但如果可能的话,我宁愿使用更多的Pythonic解决方案.
我是Python的初学者,我正在CodeChef解决一个问题,我必须读取一行空格分隔的整数.这就是我在做的事情:
def main():
t=int(raw_input()) #reading test-cases
while t!=0:
n, k=raw_input().split() #reading a line of two space separated integers
n, r=int(n), int(r) #converting them into int
list=[]
#reading a line of space separated integers and putting them into a list
list[-1:101]=raw_input().split()
Run Code Online (Sandbox Code Playgroud)
现在我将列表中的每个元素转换为整数.有没有更好的方法来做到这一点?请建议一个我可以玩Python的在线资源,并学习提示和技巧!
我试图从Python 2.7改为3.3.1
我想输入
1 2 3 4
Run Code Online (Sandbox Code Playgroud)
并输出
[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
在2.7我可以使用
score = map(int,raw_input().split())
Run Code Online (Sandbox Code Playgroud)
我应该在Python 3.x中使用什么?
我想将整数列表存储为模型中的字段.因为Django默认没有为此提供字段,所以我使用调用的CommaSeparatedIntegerField来完成此操作x.在我看来,然后我接受这个字符串并从中创建一个整数列表.使用参数创建模型实例时n,我希望x将其设置为length n,并将每个元素设置为零.
这是模型:
class Foo(models.Model):
id = models.IntegerField(default = 0)
x = models.CommaSeparatedIntegerField(max_length = 10)
@classmethod
def create(cls, _id, n):
user = cls(id = _id)
user.class_num_shown = '0,' * n
Run Code Online (Sandbox Code Playgroud)
然后我创建一个实例:
f = Foo.create(1, 4)
f.save()
Run Code Online (Sandbox Code Playgroud)
并从数据库加载它并将字符串转换为列表:
f = Foo.objects.get(id = 1)
x_string = f.x
x_list = x_string.split(',')
print x_list
Run Code Online (Sandbox Code Playgroud)
但这会输出[u'0,0,0,0,']而不是我想要的,这将是[0,0,0,0].如何实现我想要的输出?
在Ruby中我可以使用
x = gets.split(" ").map{|x| x.to_i}
Run Code Online (Sandbox Code Playgroud)
如何用Python编写