gpt4 book ai didi

python - 找到坡度最陡的点 python

转载 作者:行者123 更新时间:2023-12-05 08:42:49 27 4
gpt4 key购买 nike

我有一个浮点列表,例如 [x1,x2,x3,x4,....xn],它们被绘制为折线图。我想找到斜率最陡的一组点。

现在,我在循环中计算一组点之间的差异,并使用 max() 函数来确定最大点。

还有其他优雅的方式吗?

最佳答案

假设 points 是您的值列表,您可以使用以下方法在单行中计算差异:

max_slope = max([x - z for x, z in zip(points[:-1], points[1:])])

但是你在紧凑性上获得的好处,你可能会失去可读性。

在这个列表理解中发生的事情如下:

  • 在原始列表的基础上创建了两个列表,分别是points[:-1] & points[1:]Points[:-1] 从原始列表的开头开始,到倒数第二个项目(含)。 Points[1:] 从第二项开始一直到最后一项(再次包含在内。)

例子

example_list = [1, 2, 3, 4, 5]
ex_a = example_list[:-1] # [1, 2, 3, 4]
ex_b = example_list[1:] # [2, 3, 4, 5]
  • 然后压缩这两个列表,创建一个对象,您可以从中绘制 x、z 对来计算差异。请注意,zip 不会在 Python 3 中创建列表,因此您需要将它的返回值传递给 list 参数。

喜欢:

example_list = [1, 2, 3, 4, 5]
ex_a = example_list[:-1] # [1, 2, 3, 4]
ex_b = example_list[1:] # [2, 3, 4, 5]
print(list(zip(ex_a, ex_b))) # [(1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]
  • 最后,您使用创建的对计算差异,将结果存储在列表中并获得最大值。

如果最大斜率的位置也很有趣,您可以使用 .index() 方法从创建的列表中获取索引。不过,在那种情况下,最好保存推导式创建的列表,而不仅仅是使用它。

关于python - 找到坡度最陡的点 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38262544/

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