Python–列表中直到当前索引的元素最大值
原文:https://www . geesforgeks . org/python-elements-maximum-til-current-index-in-list/
给定包含元素的列表,如果元素是当前索引前的最大元素,则提取该元素。
输入 : test_list = [4,6,7,8]
输出:【4,6,7,8】
说明:所有元素都是最大值,直到它们的索引。
输入 : test_list = [6,7,3,6,8,7]
输出:【7,8】
说明 : 7 和 8 最大,直到它们的指数。
方法#1:使用循环
这是一种可以执行这项任务的暴力方法。在这种情况下,我们运行嵌套循环直到当前索引,如果所有元素都低于当前元素,则递增计数器,如果计数器匹配当前索引,则建议当前元素最大直到当前索引。
Python 3
# Python3 code to demonstrate working of
# Elements Maximum till current index in List
# Using loop
# initializing list
test_list = [3, 5, 2, 6, 7, 9, 3]
# printing original list
print("The original list : " + str(test_list))
# Using loop
res = []
for idx in range(1, len(test_list)):
cnt = 0
# inner loop to count element less than current
for idx2 in range(idx):
if test_list[idx] > test_list[idx2]:
cnt = cnt + 1
if cnt == idx:
res.append(test_list[idx])
# printing result
print("Extracted Maximum elements : " + str(res))
Output
The original list : [3, 5, 2, 6, 7, 9, 3]
Extracted Maximum elements : [5, 6, 7, 9]
方法二:使用 max() +列表理解+列表切片
上述功能的组合可以用来解决这个问题。在这种情况下,我们使用 max()检查当前元素是否大于使用列表切片提取的所有先前元素。
Python 3
# Python3 code to demonstrate working of
# Elements Maximum till current index in List
# Using max() + list comprehension + list slicing
# initializing list
test_list = [3, 5, 2, 6, 7, 9, 3]
# printing original list
print("The original list : " + str(test_list))
# Using max() + list comprehension + list slicing
# max() used to get if current is current maximum
res = [test_list[idx] for idx in range(
1, len(test_list)) if test_list[idx] > max(test_list[:idx])]
# printing result
print("Extracted Maximum elements : " + str(res))
Output
The original list : [3, 5, 2, 6, 7, 9, 3]
Extracted Maximum elements : [5, 6, 7, 9]
版权属于:月萌API www.moonapi.com,转载请注明出处