📜  Python – 整数列表中连续对的最大值

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

Python – 整数列表中连续对的最大值

有时,在使用Python列表时,可能会遇到需要查找以对形式执行列表最大化的问题。这对于 Web 开发和日常编程中更大问题的子问题解决方案很有用。让我们讨论一些可以解决这个问题的方法。

方法 #1:使用循环 + max()
这是执行此特定任务的蛮力方法。在这种情况下,我们只是以跳过的方式迭代列表直到最后一个元素,以迭代方式获取其他列表中的所有对最大值。

# Python3 code to demonstrate working of
# Consecutive Pair Maximum
# Using loop + max()
  
# initializing list
test_list = [5, 8, 3, 5, 9, 10]
  
# printing list
print("The original list : " + str(test_list))
  
# Consecutive Pair Maximum
# Using loop + max()
res = []
for ele in range(0, len(test_list), 2):
    res.append(max(test_list[ele], test_list[ele + 1]))
  
# Printing result
print("Pair maximum of list : " + str(res))
输出 :
The original list : [5, 8, 3, 5, 9, 10]
Pair maximum of list : [8, 5, 10]

方法 #2:使用zip() + list comprehension + max()
也可以使用上述功能的组合来执行此任务。在此,我们只是迭代列表,组合对的任务由 zip() 执行。仅适用于 Python2。

# Python code to demonstrate working of
# Consecutive Pair Maximum
# Using zip() + list comprehension + max()
  
# initializing list
test_list = [5, 8, 3, 5, 9, 10]
  
# printing list
print("The original list : " + str(test_list))
  
# Consecutive Pair Maximum
# zip() + list comprehension + max()
res = [max(i, j) for i, j in zip(test_list, test_list[1:])[::2]]
  
# Printing result
print("Pair maximum of list : " + str(res))
输出 :
The original list : [5, 8, 3, 5, 9, 10]
Pair maximum of list : [8, 5, 10]