Python Inline语句比正常的forloop慢

时间:2015-10-15 18:59:46

标签: python python-2.7 input io raw-input

我刚才正在尝试编码比赛。

我被给予N行输入是整数,所以拿这些输入,我使用下面的代码。

arr = [int(input()) for i in xrange(N)]

# where N is a given number of Inputs

由于这段代码,我得到了TLE(时间限制超出)错误。

但是当我将输入代码更改为以下内容时,我的代码在没有TLE的情况下被接受。

arr = []
for i in xrange(N):
    arr.append(int(raw_input()))

#where N is the given number of inputs

有些人可以解释一下,为什么执行时间有所不同,但据我的理解,两种代码形式都必须以相同的方式执行相同的任务。

1 个答案:

答案 0 :(得分:5)

两个代码段不同。一个使用raw_input(),另一个使用input()raw_input()预计会比input()更快,因为它不会将输入字符串解析并评估为Python表达式。