A veces, mientras trabajamos con Python, podemos tener un problema en el que tenemos una lista de registros en forma de tuplas en forma de string y deseamos convertirlos en una lista de tuplas. Este tipo de problema puede ocurrir en el dominio de la ciencia de datos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso eval()
de la comprensión de listas +
Este problema se puede realizar fácilmente como una sola línea utilizando la función incorporada de eval()
, que realiza esta tarea de conversión de strings a tuplas y comprensión de listas.
# Python3 code to demonstrate working of # Converting string tuples to list tuples # using list comprehension + eval() # Initializing list test_list = ["('gfg', 1)", "('is', 2)", "('best', 3)"] # printing original list print("The original list is : " + str(test_list)) # Converting string tuples to list tuples # using list comprehension + eval() res = [eval(ele) for ele in test_list] # printing result print("The list tuple after conversion : " + str(res))
The original list is : ["('gfg', 1)", "('is', 2)", "('best', 3)"] The list tuple after conversion : [('gfg', 1), ('is', 2), ('best', 3)]
Método #2: Usareval() + map()
Esta tarea también se puede realizar usando una combinación de las funciones anteriores. La tarea realizada por comprensión de lista anterior se puede realizar utilizando map()
este método.
# Python3 code to demonstrate working of # Converting string tuples to list tuples # using map() + eval() # Initializing list test_list = ["('gfg', 1)", "('is', 2)", "('best', 3)"] # printing original list print("The original list is : " + str(test_list)) # Converting string tuples to list tuples # using map() + eval() res = list(map(eval, test_list)) # printing result print("The list tuple after conversion : " + str(res))
The original list is : ["('gfg', 1)", "('is', 2)", "('best', 3)"] The list tuple after conversion : [('gfg', 1), ('is', 2), ('best', 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