Dada una lista en Python y proporcionadas las posiciones de los elementos, escriba un programa para intercambiar los dos elementos de la lista.
Ejemplos:
Input : List = [23, 65, 19, 90], pos1 = 1, pos2 = 3 Output : [19, 65, 23, 90] Input : List = [1, 2, 3, 4, 5], pos1 = 2, pos2 = 5 Output : [1, 5, 3, 4, 2]
Enfoque #1: Intercambio simple, usando la asignación de comas
Dado que se conocen las posiciones de los elementos, podemos simplemente intercambiar las posiciones de los elementos.
Python3
# Python3 program to swap elements # at given positions # Swap function def swapPositions(list, pos1, pos2): list[pos1], list[pos2] = list[pos2], list[pos1] return list # Driver function List = [23, 65, 19, 90] pos1, pos2 = 1, 3 print(swapPositions(List, pos1-1, pos2-1))
Producción:
[19, 65, 23, 90]
Enfoque n.º 2: Uso de la función list.pop() incorporada Extraiga
el elemento en pos1 y guárdelo en una variable. De manera similar, extraiga el elemento en pos2 y guárdelo en otra variable. Ahora inserte los dos elementos reventados en la posición original del otro.
Python3
# Python3 program to swap elements # at given positions # Swap function def swapPositions(list, pos1, pos2): # popping both the elements from list first_ele = list.pop(pos1) second_ele = list.pop(pos2-1) # inserting in each others positions list.insert(pos1, second_ele) list.insert(pos2, first_ele) return list # Driver function List = [23, 65, 19, 90] pos1, pos2 = 1, 3 print(swapPositions(List, pos1-1, pos2-1))
Producción:
[19, 65, 23, 90]
Enfoque n.º 3: Uso de la variable de tupla
Almacene el elemento en pos1 y pos2 como un par en una variable de tupla, digamos get . Descomprima esos elementos con posiciones pos2 y pos1 en esa lista. Ahora, ambas posiciones en esa lista están intercambiadas.
Python3
# Python3 program to swap elements at # given positions # Swap function def swapPositions(list, pos1, pos2): # Storing the two elements # as a pair in a tuple variable get get = list[pos1], list[pos2] # unpacking those elements list[pos2], list[pos1] = get return list # Driver Code List = [23, 65, 19, 90] pos1, pos2 = 1, 3 print(swapPositions(List, pos1-1, pos2-1))
Producción:
[19, 65, 23, 90]
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA