在 Python 中查找最大差值对
数据分析可能会带来各种挑战。在本文中,我们将使用一个以数字为元素的列表。然后,我们将在列表中找出值差最大的元素对。
使用 nlargest
这里的方法是先找出所有可能的元素组合,然后从第一个元素中减去第二个元素。最后,应用 heapq 模块中的 nlargest 函数,以获得差值最大的那些对。
示例
from itertools import combinations
from heapq import nlargest
listA = [21, 14, 30, 11, 17, 18]
# Given list
print("Given list : ",listA)
# using nlargest and combinations()
res = nlargest(2, combinations(listA, 2),
key=lambda sub: abs(sub[0] - sub[1]))
# print result
print("Pairs with maximum difference are : ",res)
输出
运行上面的代码,我们得到以下结果 -
Given list : [21, 14, 30, 11, 17, 18] Pairs with maximum difference are : [(30, 11), (14, 30)]
使用组合和 Max()
这里我们也采取了与上面相同的方法,但我们得到一对作为结果,因为我们应用了 max 函数,它给我们一对作为结果。
示例
from itertools import combinations
listA = [21, 14, 30, 11, 17, 18]
# Given list
print("Given list : ",listA)
# using combinations() and lambda
res = max(combinations(listA, 2), key = lambda sub: abs(sub[0]-sub[1]))
# print result
print("Pairs with maximum difference are : ",res)输出
运行上面的代码,我们得到以下结果 -
Given list : [21, 14, 30, 11, 17, 18] Pairs with maximum difference are : (30, 11)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP