Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python输入性能 背景_Python_Performance_Parsing_Input_Io - Fatal编程技术网

Python输入性能 背景

Python输入性能 背景,python,performance,parsing,input,io,Python,Performance,Parsing,Input,Io,我一直试图通过Kattis上的优秀挑战来复习我的Python知识。我现在被难住了,这需要很好的效率。我的解决方案得到了正确的答案,但速度太慢了。虽然其他语言可能会更快,但我从统计数据中知道,可以使用Python3解决这个问题 问题 给程序一个整数长度,然后是一个包含整数值的长度列表。我将它们添加到一个列表中,但是当我得到很长的列表时,程序在完成读取输入之前超过了3s的时间限制 任何关于如何加快速度的建议都将不胜感激 到目前为止的代码(经过理解更新)。。。 非常感谢 也许您可以尝试使用列表理解来

我一直试图通过Kattis上的优秀挑战来复习我的Python知识。我现在被难住了,这需要很好的效率。我的解决方案得到了正确的答案,但速度太慢了。虽然其他语言可能会更快,但我从统计数据中知道,可以使用Python3解决这个问题

问题 给程序一个整数长度,然后是一个包含整数值的长度列表。我将它们添加到一个列表中,但是当我得到很长的列表时,程序在完成读取输入之前超过了3s的时间限制

任何关于如何加快速度的建议都将不胜感激

到目前为止的代码(经过理解更新)。。。


非常感谢

也许您可以尝试使用列表理解来接收输入:

nums = [input() for i in range(length)]

列表理解通常比使用for循环附加到列表更快。在这里查找有关不同速度、不同循环方法的信息,

您应该使用列表理解。追加要求在每一轮中查找该方法,而列表理解则要优化得多:

inputList = [input() for _ in range(length)]

为什么不稍后打印/格式化结果,并使用列表而不是添加到字符串中?字符串是不可变的,python需要为每个元素创建一个新对象(并连接值)@Pynchia Good point!我会的,谢谢。这个链接非常有用,谢谢。我现在开始使用列表理解;虽然我还没有达到读取200000行输入的3秒限制。也许一个生成器可以帮助加快速度。不过,听上去,也许整个程序可以在这里或那里进行一些优化。我自己也会看一看。这很有道理,干杯。我已经开始在输入中使用列表理解,并将考虑改进其他循环。即使进行了此更改,输入仍会受到时间限制。
inputList = [input() for _ in range(length)]