A veces, mientras trabajamos con listas de Python, podemos tener un problema en el que tenemos que fusionar la parte superpuesta de dos listas. Este tipo de problema puede surgir en el dominio de la programación día a día. Vamos a discutir una forma en que este problema puede ser resuelto.
Método: Uso del generador + next()
+ división de listas
Este método se puede emplear para resolver esta tarea. En esto, primero, iteramos una variable desde el extremo posterior de una de las listas, y obtenemos el segmento del extremo posterior de la primera lista hasta que coincida con el segmento inicial de la segunda lista. Luego, obtenemos la primera superposición de este tipo (superposición máxima) usando next()
y luego unimos la parte restante usando el corte de lista.
# Python3 code to demonstrate working of # Merge overlapping parts of list # using generator + next() + list slicing # initialize lists test_list1 = [4, 5, 7, 9, 10, 11] test_list2 = [10, 11, 16, 17] # printing original lists print("The original list 1 is : " + str(test_list1)) print("The original list 2 is : " + str(test_list2)) # Merge overlapping parts of list # using generator + next() + list slicing temp = (i for i in range(len(test_list2), 0, -1) if test_list2[:i] == test_list1[-i:]) temp2 = next(temp, 0) res = test_list1 + test_list2[temp2 : ] # printing result print("List after overlapping merge is : " + str(res))
The original list 1 is : [4, 5, 7, 9, 10, 11] The original list 2 is : [10, 11, 16, 17] List after overlapping merge is : [4, 5, 7, 9, 10, 11, 16, 17]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA