gpt4 book ai didi

python - 从列表中获取 "edge numbers"

转载 作者:太空狗 更新时间:2023-10-29 21:21:42 25 4
gpt4 key购买 nike

我有如下数据列表:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 747, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799]

我试图从这个列表中找出它们之间距离最大的两个连续数字。

在这种情况下,答案将是 [47, 747],因为它们在列表中紧挨着列出,而 747 - 47 = 700比任何其他一对连续数字的差异都更大

最佳答案

>>> n = max(range(1, len(L)), key=lambda i: L[i] - L[i-1])
>>> L[n-1:n+1]
[47, 747]

基于 numpy 的方法是:

>>> a = np.array(L)
>>> n = np.diff(a).argmax()
>>> a[n:n+2]
array([ 47, 747])

关于python - 从列表中获取 "edge numbers",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51867074/

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