Мой список содержит случайные целые числа в произвольном порядке. Я хочу поменять местами элементы, сохраняя порядок списка без изменений.
ran=[1,1,2,1]
И я хочу поменять местами, скажем, 1 и 2:
swap(ran,1,2)
output:
2212
или
ran=[3,3,1,2]
swap(ran,1,3)
output:
1132
Я пробовал использовать функцию подкачки, но я знаю, что моя логика итерации c не очень хороша.
def swap(c,x,y):
arr=[]
for i, v in enumerate(c):
if v==x or v==y:
for j,v2 in enumerate(c):
if v2==y or v2==x:
arr[i], arr[j] = arr[j], arr[i]
Это просто меняет одно из значений.
Проблема не в зная, какой индекс уже был изменен.