A veces, mientras trabajamos con Python List o Matrix, generalmente tenemos un problema en el que necesitamos obtener una función generalizada que pueda realizar la conversión de tipos de todo el contenedor a la vez. Siempre existe la necesidad de un código de mecanismo que pueda transformar por completo el cambio permitido de tipo de datos para todos los elementos en el contenedor. Analicemos una forma en que se puede realizar esta tarea.
Método: Usando map()
+ comprensión de lista
Esta tarea se puede realizar usando un mapa(). La transformación de una lista normal se puede realizar utilizando una sola función de mapa simplemente pasando el tipo de datos deseado. Pero cuando se trata de la transformación de toda la array, necesitamos la ayuda de la comprensión de listas para lo mismo.
# Python3 code to demonstrate working of # Type casting whole List and Matrix # using map() + list comprehension # helper function to type cast list def cast_list(test_list, data_type): return list(map(data_type, test_list)) # helper function to type cast Matrix def cast_matrix(test_matrix, data_type): return list(map(lambda sub: list(map(data_type, sub)), test_matrix)) # initialize list test_list = [1, 4, 9, 10, 19] # initialize Matrix test_matrix = [[5, 6, 8], [8, 5, 3], [9, 10, 3]] # printing original list print("The original list is : " + str(test_list)) # printing original matrix print("The original Matrix is : " + str(test_matrix)) # Type casting whole List and Matrix # using map() + list comprehension res_list = cast_list(test_list, str) res_matrix = cast_matrix(test_matrix, str) # printing result print("The List after type casting is : " + str(res_list)) print("The Matrix after type casting is : " + str(res_matrix))
The original list is : [1, 4, 9, 10, 19] The original Matrix is : [[5, 6, 8], [8, 5, 3], [9, 10, 3]] The List after type casting is : ['1', '4', '9', '10', '19'] The Matrix after type casting is : [['5', '6', '8'], ['8', '5', '3'], ['9', '10', '3']]
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