作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个浮点列表,例如 [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]
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/
我有四点。它是可拖动的。在任何时候我点击“绘制”按钮我想显示 Angular 。我尝试过,但它会在外面画出陡峭 Angular 弧线。但我想在形状内的任意点绘制圆弧。 $(document).read
我是一名优秀的程序员,十分优秀!