A veces nos encontramos con este tipo de problemas en los que requerimos cruzar cada elemento de una lista con el otro. Este tipo de problemas suele darse en desarrollos en los que tenemos la información combinada, como nombres y apellidos en diferentes listados. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.° 1: usar la comprensión de listas + la comprensión de listaszip() + intersection()
hace la tarea de intersectar los elementos de índice similares. La tarea de la función zip es concatenar la string resultante en una lista única y una lista de retorno.
# Python3 code to demonstrate # Like Index Common characters # using list comprehension + zip() + intersection() # initializing lists test_list1 = ["Geeksfor", "is", "be"] test_list2 = ['Geeks', 'sb', 'ste'] # printing original lists print ("The original list 1 is : " + str(test_list1)) print ("The original list 2 is : " + str(test_list2)) # using list comprehension + zip() # Like Index Common characters + intersection() res = ["".join(list(set(i).intersection(set(j)))) for i, j in zip(test_list1, test_list2)] # printing result print ("The list after element intersection is : " + str(res))
The original list 1 is : ['Geeksfor', 'is', 'be'] The original list 2 is : ['Geeks', 'sb', 'ste'] The list after element intersection is : ['sGek', 's', 'e']
Método n.º 2: usomap() + lambda + zip() + intersection()
La tarea de mapear cada elemento de índice entre sí se realiza mediante la función de mapa en este método y la función de intersección se realiza mediante la función lambda y la función de intersection(). Este método solo funciona en Python 2.
# Python code to demonstrate # Like Index Common characters # using map() + lambda + zip() + intersection() # initializing lists test_list1 = ["Geeksfor", "is", "be"] test_list2 = ['Geeks', 'sb', 'ste'] # printing original lists print ("The original list 1 is : " + str(test_list1)) print ("The original list 2 is : " + str(test_list2)) # using map() + lambda + zip() + intersection() # Like Index Common characters res = list(map(lambda(i, j): "".join(list(set(i).intersection(set(j)))), zip(test_list1, test_list2))) # printing result print ("The list after element intersection is : " + str(res))
The original list 1 is : ['Geeksfor', 'is', 'be'] The original list 2 is : ['Geeks', 'sb', 'ste'] The list after element intersection is : ['sGek', 's', 'e']
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