以下兩種實現在Python中有不同的性能如何?python - 兩種實現之間的性能差異
from cStringIO import StringIO
from itertools import imap
from sys import stdin
input = imap(int, StringIO(stdin.read()))
print '\n'.join(imap(str, sorted(input)))
AND
import sys
for line in sys.stdin:
l.append(int(line.strip('\n')))
l.sort()
for x in l:
print x
第一實施比第二對的10^6行的順序輸入快。爲什麼這樣?
你的第二個實現不起作用(sys.stdin不可調用),它不會執行與第一個相同的操作(第二個去掉換行符,第一個去掉換行符)。 –
這兩個實現大不相同。需要做很多工作才能在最低級別比較它們 – Falmarri
@Rosh:在imap中將字符串轉換爲int將在第一個實現中剝離'\ n' – Akhil