详细内容或原文请订阅后点击阅览
即使您是初学者
认为您太新了,无法优化Python?想一想。这些快速提示使优化从一开始就容易有效。
来源:KDnuggets说实话。当您学习Python时,您可能不会考虑性能。您只是想让您的代码工作!但这是事实:使您的Python代码更快地不需要您在一夜之间成为专家程序员。
使用一些简单的技术,我今天向您展示,您可以大大提高代码的速度和内存使用量。
在本文中,我们将一起浏览五个实用的初学者优化技术。对于每个人,我将向您展示“之前”代码(许多初学者写的方式),“ after”代码(优化版本),并准确地说明了改进的原因以及它得到的速度更快。
🔗链接github上的代码
链接到GitHub上的代码1。用列表综合替换循环
让我们从您可能一直做的事情开始:通过转换现有的列表来创建新列表。大多数初学者都可以追求循环,但是Python的做法更快。
优化之前
这是大多数初学者将数字列表打成方式的方式:
导入时间 def square_numbers_loop(数字): 结果= [] 对于数字的数字: result.append(num ** 2) 返回结果 #让我们用1000000数字测试以查看性能 test_numbers = list(range(1000000)) start_time = time.time() squared_loop = square_numbers_loop(test_numbers) loop_time = time.time() - start_time 打印(f“循环时间:{loop_time:.4f}秒”)
此代码创建一个名为“结果”的空列表,然后循环通过我们的输入列表中的每个数字,将其平方并将其附加到结果列表中。很简单,对吗?
优化后
现在让我们使用列表理解来重写:
这个单行[数字中的num ** 2]与我们的循环完全相同,但是它告诉python“创建一个列表,每个元素是数字中相应元素的平方。”
[num ** 2 for num In数字]
输出:
绩效改进 为什么这起作用?List2
set2
sum
最大
sum()
max()