python list if index value> x然后替换值

时间:2017-09-20 08:41:33

标签: python-3.x list

我有一个像L=[5,10,15,25,30,35,40,45,50]这样的列表。我需要结果列表类似于L=[5,10,15,25,15,10,5,10,15],即结果列表应该在5到25之间。

1 个答案:

答案 0 :(得分:1)

基本上,您的输入是5的倍数列表。当您在输入列表中达到大于25的数字时,您要求结果列表在5到25之间重复。这是一个粗略的代码,打印您的结果列表,假设没有意外。

L1=[5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
TL = []
for element in L1:
    if element > 25:
        break
    else:
        TL.append(element)
L2 = []
length = len(TL) - 1
incr = length
decr = length
for i in range(len(L1)):
    if i <= length:
        L2.append(TL[i])
    if  i > length:
        if decr <= length and decr > 0:
            decr = decr - 1
            L2.append(TL[decr])
            if decr == 0:
                incr = 0
                continue
        if incr < length:
            incr = incr + 1
            L2.append(TL[incr])
            if incr == length:
                decr = length
print (L1)
print (L2)