Python – 提取具有最大元组值的项目
有时,在使用Python字典时,我们可能会遇到需要提取值元组索引最大值的项目的问题。这类问题可以应用在 Web 开发等领域。让我们讨论可以执行此任务的某些方式。
Input : test_dict = {‘gfg’ : (4, 6), ‘is’ : (7, 8), ‘best’ : (8, 2)}, tup_idx = 0
Output : (‘best’, (8, 2))
Input : test_dict = {‘gfg’ : (4, 6), ‘best’ : (8, 2)}, tup_idx = 1
Output : (‘gfg’ : (4, 6))
方法 #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))