2013-07-19 71 views
2

現在我正在使用sys.stdin.readline(),但我很好奇它是否被認爲使用map(int,sys.stdin.readline())很慢或者它是否合理, .stdin「或其他內容(用於批量輸入)。在Python 2.7中獲得輸入的最快方式是什麼?

+0

我只是問。 'input()'有什麼問題? – rnbcoder

+0

@mbcoder'input()'用於提示用戶鍵入內容.OP大概是想從一個文件或其他來源傳送數據。 – SethMMorton

回答

1

如果數據通過stdin流式傳輸到程序,則顯式讀取標準輸入是您可以獲得的「最快」。你的兩條輪廓都可以做到這一點。我個人更喜歡

for line in sys.stdin 
    process(line) 

成語,如果這適用於你的情況。在任何情況下,通過直接從標準輸入中讀取,理論上每秒可以處理數千兆字節的數據,工作流程的瓶頸可能在其他地方。

您可以在這裏創建不同方法的主要區別是,在一類情況下,您可以在處理它之前將整個輸入讀入內存,而在另一類方法中,您可以動態分段處理輸入。根據整體輸入的大小,這種差異可能是相關的或不相關的。

相關問題