Как изменить числа вокруг в списке в Python

У меня есть список [50,30,20,10,40], и я пытаюсь обменять переменные. Так что я хочу сделать, если первое число больше следующего, мы должны их перевернуть. Так что это должно вернуться [30,20,10,40,50]

Код, который у меня есть, представлен в списке как l

a=''
b=''
c=''
for i in range(len(l)):
    if (l[i+1]<l[i]):
        a=l[i]
        b=l[i+1]
        c=a
        a=b
        b=c
        print [a,b,c]
    else:
        print listOrig

1 ответ

Решение

Python облегчает обмен:

for i in range(len(l)-1):
    if (l[i+1] < l[i]):
        l[i+1], l[i] = l[i], l[i+1]

Заметки:

  • цикл for поднимается до диапазона (len(i) - 1), иначе ваш индекс будет вне диапазона
  • Избегайте использования однобуквенной переменной, такой как l, На мой взгляд, переменная цикла i в порядке
Другие вопросы по тегам