Python - 提取K的最大值字典的第i个键的值
给定字典列表,根据第 K 个键的最大值提取第 i 个键值。
Input : test_list = [{“Gfg” : 3, “is” : 9, “best” : 10}, {“Gfg” : 8, “is” : 11, “best” : 19}, {“Gfg” : 9, “is” : 16, “best” : 1}], K = “best”, i = “is”
Output : 11
Explanation : best is max at 19, its corresponding “is” value is 11.
Input : test_list = [{“Gfg” : 3, “is” : 9, “best” : 10}, {“Gfg” : 8, “is” : 11, “best” : 19}, {“Gfg” : 9, “is” : 16, “best” : 1}], K = “Gfg”, i = “is”
Output : 16
Explanation : Gfg is max at 9, its corresponding “is” value is 16.
方法 #1:使用 max() + lambda
上述功能的组合可以用来解决这个问题。在此,我们使用 max() 和 lambda 提取第 k 个键的最大值。然后从提取的字典中提取第 i 个键。
Python3
# Python3 code to demonstrate working of
# Extract ith Key's Value of K's Maximum value dictionary
# Using max() + lambda
# initializing lists
test_list = [{"Gfg" : 3, "is" : 9, "best" : 10},
{"Gfg" : 8, "is" : 11, "best" : 19},
{"Gfg" : 9, "is" : 16, "best" : 1}]
# printing original list
print("The original list : " + str(test_list))
# initializing K
K = "best"
# initializing i
i = "Gfg"
# using get() to handle missing key, assigning lowest value
res = max(test_list, key = lambda ele : ele.get(K, 0))[i]
# printing result
print("The required value : " + str(res))
Python3
# Python3 code to demonstrate working of
# Extract ith Key's Value of K's Maximum value dictionary
# Using max() + external function
# custom function as comparator
def cust_fnc(ele):
return ele.get(K, 0)
# initializing lists
test_list = [{"Gfg" : 3, "is" : 9, "best" : 10},
{"Gfg" : 8, "is" : 11, "best" : 19},
{"Gfg" : 9, "is" : 16, "best" : 1}]
# printing original list
print("The original list : " + str(test_list))
# initializing K
K = "best"
# initializing i
i = "Gfg"
# using get() to handle missing key, assigning lowest value
res = max(test_list, key = cust_fnc)[i]
# printing result
print("The required value : " + str(res))
The original list : [{'Gfg': 3, 'is': 9, 'best': 10}, {'Gfg': 8, 'is': 11, 'best': 19}, {'Gfg': 9, 'is': 16, 'best': 1}]
The required value : 8
方法#2:使用 max() + 外部函数
这是解决此问题的另一种方法。这以与上述方法类似的方式计算,只是使用自定义比较器而不是 lambda函数不同。
Python3
# Python3 code to demonstrate working of
# Extract ith Key's Value of K's Maximum value dictionary
# Using max() + external function
# custom function as comparator
def cust_fnc(ele):
return ele.get(K, 0)
# initializing lists
test_list = [{"Gfg" : 3, "is" : 9, "best" : 10},
{"Gfg" : 8, "is" : 11, "best" : 19},
{"Gfg" : 9, "is" : 16, "best" : 1}]
# printing original list
print("The original list : " + str(test_list))
# initializing K
K = "best"
# initializing i
i = "Gfg"
# using get() to handle missing key, assigning lowest value
res = max(test_list, key = cust_fnc)[i]
# printing result
print("The required value : " + str(res))
The original list : [{'Gfg': 3, 'is': 9, 'best': 10}, {'Gfg': 8, 'is': 11, 'best': 19}, {'Gfg': 9, 'is': 16, 'best': 1}]
The required value : 8