whi*_*kid 5 python performance python-2.7 python-3.x
我在CodeChef编码了此问题,并将其作为Python3解决方案提交:
import sys
n,k = map(int,sys.stdin.readline().split(" "))
nos = map(int,sys.stdin.readlines())
ans = 0
for i in nos:
if i>0 and i%k == 0:
ans += 1
print(ans)
Run Code Online (Sandbox Code Playgroud)
但是,如果我将代码编写为:
import sys
n,k = map(int,sys.stdin.readline().split(" "))
nos = map(int,sys.stdin.readlines())
ans = 0
for i in nos:
if i>0 and i%k == 0:
ans += 1
print ans
Run Code Online (Sandbox Code Playgroud)
并将其提交为Python2解决方案,然后该解决方案将被接受。
我根本不明白这是怎么回事?
==== ###更新### ====
Sebastian的解决方案适用于Python3,但比我的python2.7解决方案慢了10 秒。我仍然没有得到答案,为什么最新版本的语言与以前的版本相比性能会下降?
在 python3 中,诸如map、zip返回生成器而不是列表。我认为生成器带来了使代码 TLE 的开销。要制作真正的列表,请使用列表理解[int(line) for line in std.sys]
| 归档时间: |
|
| 查看次数: |
1454 次 |
| 最近记录: |