在Python中读取一行整数

kun*_*l18 8 python

我是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的在线资源,并学习提示和技巧!

NPE*_*NPE 30

在Python 2中,您可以编写:

numbers = map(int, raw_input().split())
Run Code Online (Sandbox Code Playgroud)

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

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

numbers = list(map(int, input().split()))
Run Code Online (Sandbox Code Playgroud)

要么

numbers = [int(n) for n in input().split()]
Run Code Online (Sandbox Code Playgroud)