现在我正在使用sys.stdin.readline(),但我很好奇是否认为使用map(int,sys.stdin.readline())的速度很慢,或者是否有意义执行“for item in”之类的操作sys.stdin“或其他东西(用于质量输入)。
答案 0 :(得分:1)
如果数据通过stdin流式传输到您的程序,那么从标准输入中明确读取是“最快”的。你的两个大纲方法都是这样做的。就个人而言,我更喜欢
for line in sys.stdin
process(line)
成语,如果这适用于您的情况。在任何情况下,直接从标准输入读取,理论上每秒可处理数GB的数据,工作流程的瓶颈可能在其他地方。
您可以在不同方法之间创建的主要区别在于,在一类情况下,您可以在处理之前将整个输入读入内存,而在另一类方法中,您可以动态处理输入。根据总体输入的大小,这种差异可能与否有关。