Как изменить числа вокруг в списке в 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
в порядке