Замена соседних элементов путем индексации [дубликат]Python

Программы на Python
Anonymous
Замена соседних элементов путем индексации [дубликат]

Сообщение Anonymous »

Я пытаюсь поменять местами соседние элементы в списке, если первый меньше следующего.
Вот мой код:

Код: Выделить всё

l = [6, 7]
for i in range(len(l) - 1):
print("i =", i)
h = l[i]
print("Compare:", h, l[i + 1])
if h < l[i + 1]:
print("ENTERED IF")
l[l.index(l[i])], l[l.index(l[i + 1])] = l[i + 1], l[i]
print("After swap:", l)

print("Final:", l)
Я ожидал, что список поменяется на [7, 6], но при тестировании с другими списками поведение кажется непоследовательным или неправильным.
Что я делаю не так с логикой замены?>

Вернуться в «Python»