即使您是初学者

认为您太新了,无法优化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()