Dada una lista ordenada y un elemento, escriba un programa Python para insertar el elemento en la lista dada en la posición ordenada.
Ejemplos:
Input : list = [1, 2, 4], n = 3 Output : list = [1, 2, 3, 4] Input : list = ['a', 'b', 'c', 'd'], n = 'e' Output : list = ['a', 'b', 'c', 'd', 'e']
Enfoque #1:
Este enfoque es el método de fuerza bruta. Dado que la lista ya está ordenada, comenzamos con un bucle y verificamos si el elemento de la lista es mayor que el elemento dado. En caso afirmativo, el elemento dado debe insertarse en esta posición.
# Python3 program to insert # an element into sorted list # Function to insert element def insert(list, n): index = len(list) # Searching for the position for i in range(len(list)): if list[i] > n: index = i break # Inserting n in the list if index == len(list): list = list[:index] + [n] else: list = list[:index] + [n] + list[index:] return list # Driver function list = [1, 2, 4] n = 3 print(insert(list, n))
[1, 2, 3, 4]
Enfoque #2:
Python viene con un módulo de bisección cuyo propósito es encontrar una posición en la lista donde se debe insertar un elemento para mantener la lista ordenada. Por lo tanto, usamos este módulo para resolver el problema dado.
# Python3 program to insert # an element into sorted list import bisect def insert(list, n): bisect.insort(list, n) return list # Driver function list = [1, 2, 4] n = 3 print(insert(list, n))
[1, 2, 3, 4]
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