現在、私は sys.stdin.readline() を使用していますが、 map(int,sys.stdin.readline()) を使用するのが遅いと考えられるのか、それとも "for item in sys.stdin "または他の何か(一括入力用)。
質問する
82 次
1 に答える
1
標準入力からの明示的な読み取りは、データが標準入力経由でプログラムにストリーミングされる場合に取得できる「最速」です。両方のアウトラインアプローチがこれを行います。個人的には、
for line in sys.stdin
process(line)
これがあなたのケースに当てはまる場合は、イディオム。いずれにせよ、標準入力から直接読み取ると、理論的には毎秒ギガバイトのデータを処理できますが、ワークフローのボトルネックは別の場所にある可能性があります。
ここで異なるアプローチ間で作成できる主な違いは、あるクラスのケースでは、処理する前に入力全体をメモリに読み込むことができるのに対し、別のクラスのアプローチでは、入力をその場で部分的に処理することです。入力全体のサイズに応じて、この違いが関係する場合と関係ない場合があります。
于 2013-07-19T16:24:49.357 に答える