我只是想知道如何使用 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/