📜  Python|元组列表 最小值

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

Python|元组列表 最小值

有时,在处理Python记录时,我们可能会遇到需要执行交叉最小元组列表的问题。这种应用程序在Web开发领域很流行。让我们讨论可以执行此任务的某些方式。

方法 #1:使用列表理解 + zip() + min()
上述功能的组合可用于执行此特定任务。在此,我们使用列表推导遍历列表,并在 zip() 的帮助下执行列表之间的最小值。使用 min() 执行最小值。

# Python3 code to demonstrate working of
# List of tuples Minimum
# using list comprehension + zip() + min()
  
# initialize lists
test_list1 = [(2, 4), (6, 7), (5, 1)]
test_list2 = [(5, 4), (8, 10), (8, 14)]
  
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
  
# List of tuples Minimum
# using list comprehension + zip() + min()
res = [(min(x[0], y[0]), min(x[1], y[1])) for x, y in zip(test_list1, test_list2)]
  
# printing result
print("The Minimum across lists is : " + str(res))
输出 :
The original list 1 : [(2, 4), (6, 7), (5, 1)]
The original list 2 : [(5, 4), (8, 10), (8, 14)]
The Minimum across lists is : [(2, 4), (6, 7), (5, 1)]

方法#2:使用min() + zip() + map()
这是执行此任务的另一种方式。这与上面的方法类似,不同之处在于最小值是由内置函数执行的,而将逻辑扩展到每个元素是由 map() 完成的。

# Python3 code to demonstrate working of
# List of tuples Minimum
# using min() + zip() + map()
  
# initialize lists
test_list1 = [(2, 4), (6, 7), (5, 1)]
test_list2 = [(5, 4), (8, 10), (8, 14)]
  
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
  
# List of tuples Minimum
# using min() + zip() + map()
res = [tuple(map(min, zip(a, b))) for a, b in zip(test_list1, test_list2)]
  
# printing result
print("The Minimum across lists is : " + str(res))
输出 :
The original list 1 : [(2, 4), (6, 7), (5, 1)]
The original list 2 : [(5, 4), (8, 10), (8, 14)]
The Minimum across lists is : [(2, 4), (6, 7), (5, 1)]