📜  Python – 提取具有最大元组值的项目

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

Python – 提取具有最大元组值的项目

有时,在使用Python字典时,我们可能会遇到需要提取值元组索引最大值的项目的问题。这类问题可以应用在 Web 开发等领域。让我们讨论可以执行此任务的某些方式。

方法 #1:使用max() + lambda
上述功能的组合可以用来解决这个问题。在此,我们使用 max 执行提取最大项目的任务,并使用 lambda 检查 value 参数。

# Python3 code to demonstrate working of 
# Extract Item with Maximum Tuple Value
# Using max() + lambda
  
# initializing dictionary
test_dict = {'gfg' : (4, 6),
             'is' : (7, 8),
             'best' : (8, 2)}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing tuple index 
# 0 based indexing
tup_idx = 1
  
# Extract Item with Maximum Tuple Value
# Using max() + lambda
res = max(test_dict.items(), key = lambda ele: ele[1][tup_idx])
      
# printing result 
print("The extracted maximum element item : " + str(res)) 
输出 :
The original dictionary is : {'gfg': (4, 6), 'is': (7, 8), 'best': (8, 2)}
The extracted maximum element item : ('is', (7, 8))

方法 #2:使用max() + map() + itemgetter() + zip()
上述功能的组合可以用来解决这个问题。在此,我们使用 zip() 执行使用 itemgetter() 提取的密钥和所需元组索引值的压缩任务。然后使用 max() 提取最大元素。

# Python3 code to demonstrate working of 
# Extract Item with Maximum Tuple Value
# Using max() + map() + itemgetter() + zip()
from operator import itemgetter
  
# initializing dictionary
test_dict = {'gfg' : (4, 6),
             'is' : (7, 8),
             'best' : (8, 2)}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing tuple index 
# 0 based indexing
tup_idx = 1
  
# Extract Item with Maximum Tuple Value
# Using max() + map() + itemgetter() + zip()
res = max(zip(test_dict.keys(), map(itemgetter(tup_idx), inventory.values())), key = itemgetter(1))[0]
res = (res, test_dict[res])
  
# printing result 
print("The extracted maximum element item : " + str(res)) 
输出 :
The original dictionary is : {'gfg': (4, 6), 'is': (7, 8), 'best': (8, 2)}
The extracted maximum element item : ('is', (7, 8))