📜  Python|元组字典值的最大值/最小值

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

Python|元组字典值的最大值/最小值

有时,在处理数据时,我们可能会遇到需要找到作为字典值接收的元组元素的最小值/最大值的问题。我们可能有一个问题来获得索引明智的最小值/最大值。让我们讨论一些可以解决这个特定问题的方法。

方法#1:使用tuple() + min()/max() + zip() + values()
上述方法的组合可用于执行此特定任务。在此,我们只是
使用zip()values()提取的 equi 索引值压缩在一起。然后使用相应的函数找到最小值/最大值。最后,结果以索引方式的最大/最小值作为元组返回。

# Python3 code to demonstrate working of
# Max / Min of tuple dictionary values
# Using tuple() + min()/max() + zip() + values()
  
# Initializing dictionary
test_dict = {'gfg' : (5, 6, 1), 'is' : (8, 3, 2), 'best' : (1, 4, 9)}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Max / Min of tuple dictionary values
# Using tuple() + min()/max() + zip() + values()
res = tuple(max(x) for x in zip(*test_dict.values()))
  
# printing result
print("The maximum values from each index is : " + str(res))
输出 :
The original dictionary is : {'is': (8, 3, 2), 'gfg': (5, 6, 1), 'best': (1, 4, 9)}
The maximum values from each index is : (8, 6, 9)

方法 #2:使用tuple() + map() + values() + * operator
这是可以执行此任务的另一种方式。不同之处在于我们使用map()而不是循环和* operator将值压缩在一起。

# Python3 code to demonstrate working of
# Max / Min of tuple dictionary values
# Using tuple() + map() + values() + * operator
  
# Initializing dictionary
test_dict = {'gfg' : (5, 6, 1), 'is' : (8, 3, 2), 'best' : (1, 4, 9)}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# Max / Min of tuple dictionary values
# Using tuple() + map() + values() + * operator
res = tuple(map(min, *test_dict.values()))
  
# printing result
print("The minimum values from each index is : " + str(res))
输出 :
The original dictionary is : {'is': (8, 3, 2), 'gfg': (5, 6, 1), 'best': (1, 4, 9)}
The minimum values from each index is : (1, 3, 1)