Python – 在元组列表中记录最大值
有时,在处理记录时,我们可能会遇到一个问题,即我们需要最大程度地列出作为元组的列表容器的所有列。这种应用程序在 Web 开发领域很常见。让我们讨论可以执行此任务的某些方式。
方法 #1:使用 max() + 列表理解 + zip()
可以使用上述功能的组合来执行此任务。在此,我们累积相似的索引元素,即使用 zip() 的列,然后使用列表推导遍历它们并使用 max() 执行最大值。
Python3
# Python3 code to demonstrate working of
# Records Maxima in List of Tuples
# using list comprehension + max() + zip()
# initialize list
test_list = [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
# printing original list
print("The original list : " + str(test_list))
# Records Maxima in List of Tuples
# using list comprehension + max() + zip()
res = [max(ele) for ele in zip(*test_list)]
# printing result
print("The Cumulative column maximum is : " + str(res))
Python3
# Python3 code to demonstrate working of
# Records Maxima in List of Tuples
# using zip() + map() + max()
# initialize list
test_list = [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
# printing original list
print("The original list : " + str(test_list))
# Records Maxima in List of Tuples
# using zip() + map() + max()
res = list(map(max, zip(*test_list)))
# printing result
print("The Cumulative column maximum is : " + str(res))
输出:
The original list : [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
The Cumulative column maximum is : [6, 7, 8]
方法#2:使用 zip() + map() + max()
该方法与上述方法类似。在这种情况下,列表理解执行的任务由 map() 执行,它将列的最大值扩展到压缩元素。
Python3
# Python3 code to demonstrate working of
# Records Maxima in List of Tuples
# using zip() + map() + max()
# initialize list
test_list = [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
# printing original list
print("The original list : " + str(test_list))
# Records Maxima in List of Tuples
# using zip() + map() + max()
res = list(map(max, zip(*test_list)))
# printing result
print("The Cumulative column maximum is : " + str(res))
输出:
The original list : [(1, 2, 3), (6, 7, 6), (1, 6, 8)]
The Cumulative column maximum is : [6, 7, 8]