在python中使用分隔符输入

时间:2012-10-17 18:19:56

标签: python input stdin

我遇到以下规范的问题:

输入:

第一行包含整数N,即给定序列中的元素数。 然后跟随N个整数A1,A2 ...... An,Ai是给定序列的第i个元素。这些数字可以是空格分隔的,也可以是换行符。

我该如何处理这样的输入? 我尝试了以下内容,但它仅适用于空格分隔的元素。当与换行符分隔的元素一起使用时,分级器会抛出“超出时间”

import sys
counter=0
A=[]
for line in sys.stdin:
    if counter!=0:
        A+=[int(Ai) for Ai in line.split()]
    else:
        N=int(line)
        counter+=1

1 个答案:

答案 0 :(得分:1)

假设您正在从文件中读取(sys.stdin也是文件):

f = open('path/to/file')
N = int(f.readline().strip())
A = []
while len(A) < N:
    A.extend(int(i) for i in f.readline().strip().split())

希望这有帮助