python - 验证算术序列python

标签 python math sequence verify

我只是想知道如何使用 python 检查以验证数字列表是否为算术,以及列表中每个项目之间是否有公共(public)数字。

最佳答案

这是我要写的:

all((i - j) == (j - k) for i, j, k in zip(l[:-2], l[1:-1], l[2:]))

您可以通过只计算一次差异来提高效率,但如果您关心效率,您可以使用 numpy 并编写:

np.all((a[:-2] - a[1:-1]) == (a[1:-1] - a[2:]))

甚至(保存一片):

np.all(a[:-2] + a[2:] == 2 * a[1:-1])

可能最简洁的方法是使用 numpy.diff,因为它会自动将列表转换为 numpy 数组:

np.all(np.diff(l, 2) == 0)

关于python - 验证算术序列python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13276235/

相关文章:

python - 我的 RST 自述文件在 PyPi 上的格式不正确

python - 最小化函数,如何将参数传递给函数 scipy

寻找相似图像的算法

python - 如何在 python 中编写数学公式

python-3.x - Dataframe序列检测: Find groups where three rows in a row have negative values

python - 如何区分序列和映射

python - Tkinter 框架暂停程序。程序不会继续,直到我关闭框架

python - operator.itemgetter() 和 sort() 是如何工作的?

java - 数学 - 小于 1 时得不到结果

javascript - JS+CSS 如何从右上到左下显示数组中的图片