Python的列表遍历

a=[15,14,13,12,11,10,9,8,7,12,11,10,9]
类似于上述a这样的一个数组,
具有一个规律:当上一个值大于10时,后续的值会逐渐下降到10以下,但之后又会到10以上,随后重复这个规律
目标需求,找到每一组这样下降规律的起始索引值
如a的最终输出为
start=[0,9]
end=[6,12]
不知道for 循环怎么写

您可以使用一个 for 循环来迭代列表,同时使用一个计数器来记录下降规律的起始索引值。在 for 循环中,当当前元素小于等于 10 时,检查计数器是否大于等于 2。如果是,记录下当前索引作为下降规律的结束索引值,并将起始索引值和结束索引值添加到对应的列表中。最后重置计数器以查找下一组下降规律的起始索引值。

a = [15,14,13,12,11,10,9,8,7,12,11,10,9]

start = []  # 用于记录下降规律的起始索引值
end = []  # 用于记录下降规律的结束索引值

count = 0  # 用于记录下降规律的起始点连续出现的次数
for i in range(len(a)):
    if a[i] <= 10:
        count += 1
        if count >= 2:
            end.append(i)
            start.append(i - count + 1)
            count = 0  # 重置计数器
    else:
        count = 0  # 重置计数器

print(start)  # 输出下降规律的起始索引值
print(end)  # 输出下降规律的结束索引值


这段代码将迭代列表 a,同时使用计数器来记录下降规律的起始索引值。在 for 循环中,当当前元素小于等于 10 时,将计数器加 1。如果计数器大于等于 2,记录下当前索引作为下降规律的结束索引值,并将起始索引值和结束索引值添加到对应的列表中。最后,重置计数器以查找下一组下降规律的起始索引值。


a = [15,14,13,12,11,10,9,8,7,12,11,10,9]

start = []
end = []

# 找到第一个下降点的位置
for i in range(1, len(a)):
    if a[i-1] > 10 and a[i] <= 10:
        start.append(i)
    elif a[i-1] <= 10 and a[i] > 10:
        end.append(i-1)

# 处理最后一组下降
if a[-1] > 10:
    end.append(len(a) - 1)

print(start)
print(end)

以下答案引用自GPT-3大模型,请合理使用:

。

def list_traverse(a):

start = 0

end = a.length - 1

while start < end:

print(a[start], end = end)

start += 1

end -= 1

如果我的回答解决了您的问题,请采纳我的回答