gpt4 book ai didi

python - 有更快的替代方案吗?

转载 作者:行者123 更新时间:2023-12-01 06:16:37 24 4
gpt4 key购买 nike

cost=0
for i in range(12):
cost=cost+math.pow(float(float(q[i])-float(w[i])),2)
cost=(math.sqrt(cost))

还有比这更快的替代方案吗?我需要改进我的整个代码,因此尝试提高每个语句的性能。

谢谢你

最佳答案

除了已经做出的一般优化评论(以及我订阅的)之外,还有一种更“优化”的方式来完成您想要的操作:操作值数组并组合他们在数学上。这是一项非常有用且广泛使用的工作 NumPy package !

以下是您的操作方法:

q_array = numpy.array(q, dtype=float)
w_array = numpy.array(w, dtype=float)
cost = math.sqrt(((q_array-w_array)**2).sum())

(如果您的数组 qw 已包含 float ,您可以删除 dtype=float。)

这几乎是尽可能快的速度,因为 NumPy 的操作针对数组进行了优化。它也比循环更清晰,因为它既简单又短。

关于python - 有更快的替代方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3011906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com