A menudo, durante la resolución de problemas, nos encontramos con muchos problemas en los que necesitamos ordenar la lista de forma inversa. Pero a veces también querríamos invertir la ordenación de la otra lista para que los elementos de se desplacen automáticamente y permanezcan en el mismo índice que la primera lista, incluso después de que la primera lista se ordene de forma inversa. Vamos a discutir ciertas formas en que esto se puede hacer.
Método n. ° 1: Usandosorted() + reverse + zip() + itemgetter()
la combinación de las tres funciones, posiblemente podamos lograr la tarea. Las funciones zip unen las dos listas, la función sorted ordena la lista y la función itemgetter se usa para definir las métricas contra las que necesitamos cambiar la segunda lista, en este caso la primera lista. La clasificación inversa se maneja a la inversa.
# Python3 code to demonstrate # Reverse Sort Row Matrix integration # using sorted() + zip() + itemgetter() from operator import itemgetter # initializing lists test_list1 = [3, 4, 9, 1, 6] test_list2 = [1, 5, 3, 6, 7] # printing original lists print ("The original list 1 is : " + str(test_list1)) print ("The original list 2 is : " + str(test_list2)) # using sorted() + zip() + itemgetter() # Reverse Sort Row Matrix integration res = [list(x) for x in zip(*sorted(zip(test_list1, test_list2), key = itemgetter(0), reverse = True))] # printing result print ("The lists after integrity reverse sort : " + str(res))
The original list 1 is : [3, 4, 9, 1, 6] The original list 2 is : [1, 5, 3, 6, 7] The lists after integrity reverse sort : [[9, 6, 4, 3, 1], [3, 7, 5, 1, 6]]
Método #2: Uso de la sorted() + reverse + zip()
función + lambda
Este método realiza la tarea similar, cada función realiza la función similar, la diferencia es solo que en lugar de la función itemgetter, la función lambda realiza la tarea de asignar una base para ordenar la lista, es decir, la primera lista en este caso. La clasificación inversa se maneja a la inversa.
# Python3 code to demonstrate # Reverse Sort Row Matrix integration # using sorted() + zip() + lambda function from operator import itemgetter # initializing lists test_list1 = [3, 4, 9, 1, 6] test_list2 = [1, 5, 3, 6, 7] # printing original lists print ("The original list 1 is : " + str(test_list1)) print ("The original list 2 is : " + str(test_list2)) # using sorted() + zip() + lambda function # Reverse Sort Row Matrix integration res = [list(i) for i in zip(*sorted(zip(test_list1, test_list2), key = lambda dual: dual[0], reverse = True))] # printing result print ("The lists after integrity reverse sort : " + str(res))
The original list 1 is : [3, 4, 9, 1, 6] The original list 2 is : [1, 5, 3, 6, 7] The lists after integrity reverse sort : [[9, 6, 4, 3, 1], [3, 7, 5, 1, 6]]
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