How to rearrange a list such that every second element becomes greater than its left and right element with Python

1 Answer

0 votes
def rearrangeList(lst):
    for i in range(1, len(lst), 2):
        if lst[i - 1] > lst[i]:
            lst[i - 1], lst[i] = lst[i], lst[i - 1]
 
        if i + 1 < len(lst) and lst[i + 1] > lst[i]:
            lst[i + 1], lst[i] = lst[i], lst[i + 1]
 
 
lst = [1, 3, 6, 5, 4, 2, 9, 7, 8]
 
rearrangeList(lst)
    
print(lst)



'''
run:

[1, 6, 3, 5, 2, 9, 4, 8, 7]

'''

 



answered Oct 1, 2023 by avibootz
...