Al trabajar con listas de Python, debido a su naturaleza heterogénea, podemos tener un problema en el que necesitamos convertir el tipo de datos de cada elemento anidado de la lista en un tipo particular. En la lista mixta, esto se vuelve complejo. Vamos a discutir cierta forma en que se puede realizar esta tarea.
Entrada : test_list = [(‘7’, [‘8’, (‘5’, )])]
Salida : [(7, [8, (5, )])]Entrada : test_list = [‘6’]
Salida : [6]
Método: Usar recursividad +isinstance()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, usamos isinstance() para obtener el tipo de datos del elemento de la lista, y si es su contenedor, los elementos internos se recurren para realizar la conversión.
# Python3 code to demonstrate working of # Type conversion in Nested and Mixed List # Using recursion + isinstance() # helper_fnc def change_type(sub): if isinstance(sub, list): return [change_type(ele) for ele in sub] elif isinstance(sub, tuple): return tuple(change_type(ele) for ele in sub) else: return int(sub) # initializing list test_list = ['6', '89', ('7', ['8', '10']), ['11', '15']] # printing original list print("The original list is : " + str(test_list)) # Type conversion in Nested and Mixed List # Using recursion + isinstance() res = change_type(test_list) # printing result print("Data after type conversion : " + str(res))
The original list is : ['6', '89', ('7', ['8', '10']), ['11', '15']] Data after type conversion : [6, 89, (7, [8, 10]), [11, 15]]
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