13

我是 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()   

现在我将列表中的每个元素转换为整数。有没有更好的方法来做到这一点?请推荐一个在线资源,我可以在其中使用 Python 并学习提示和技巧!

4

2 回答 2

40

在 Python 2 中,您可以编写:

numbers = map(int, raw_input().split())

这会读取一行,在空白处将其拆分,并应用于int()结果的每个元素。

如果您使用的是 Python 3,则等效表达式为:

numbers = list(map(int, input().split()))

或者

numbers = [int(n) for n in input().split()]
于 2013-04-12T05:53:38.413 回答
1

map(int, list)应该解决你的问题

于 2013-04-12T05:53:00.893 回答