Python|连续对最低价
有时,在使用Python列表时,可能会遇到一个问题,即需要以对形式查找执行列表的最小值。这对于 Web 开发和日常编程中更大问题的子问题解决方案很有用。让我们讨论一些可以解决这个问题的方法。
方法#1:使用循环
这是执行此特定任务的蛮力方法。在这种情况下,我们只是以跳过的方式迭代列表直到最后一个元素,以迭代方式获得其他列表中的所有最小对。
# Python3 code to demonstrate working of
# Consecutive Pair Minimums
# Using loop
# initializing list
test_list = [4, 5, 8, 9, 10, 17]
# printing list
print("The original list : " + str(test_list))
# Consecutive Pair Minimums
# Using loop
res = []
for ele in range(0, len(test_list), 2):
res.append(min(test_list[ele], test_list[ele + 1]))
# Printing result
print("Pair minimum of list : " + str(res))
输出 :
The original list : [4, 5, 8, 9, 10, 17]
Pair minimum of list : [4, 8, 10]
方法 #2:使用zip() + min()
+ 列表理解
也可以使用上述功能的组合来执行此任务。在此,我们只是迭代列表,组合对的任务由 zip() 执行。仅适用于 Python2。
# Python code to demonstrate working of
# Consecutive Pair Minimums
# zip() + list comprehension + min()
# initializing list
test_list = [4, 5, 8, 9, 10, 17]
# printing list
print("The original list : " + str(test_list))
# Consecutive Pair Minimums
# zip() + list comprehension + min()
res = [min(i, j) for i, j in zip(test_list, test_list[1:])[::2]]
# Printing result
print("Pair minimum of list : " + str(res))
输出 :
The original list : [4, 5, 8, 9, 10, 17]
Pair minimum of list : [4, 8, 10]