📜  Python - 提取K的最大值字典的第i个键的值

📅  最后修改于: 2022-05-13 01:55:25.539000             🧑  作者: Mango

Python - 提取K的最大值字典的第i个键的值

给定字典列表,根据第 K 个键的最大值提取第 i 个键值。

方法 #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