Método nº 1: Usando loop + split () + replace ()
Este é um método de força bruta para realizar esta tarefa. Neste, realizamos a tarefa de extrair e reconverter tuplas em uma lista em um loop usando as funções split() e replace().
# Código Python3 para demonstrar como funciona
# Converte string para lista de tuplas
# usando loop + replace () + split ()
# string de inicialização
test_str
=
"(1, 3, 4), (5, 6, 4), (1, 3, 6) "
# print a linha original
print
(
"O string original é:"
+
test_str)
# Converte string para lista de tuplas
# usando loop + replace () + split ()
res
=
[]
temp
=
[]
para
token
em
test_str.split (
","
):
num
=
int
(token.replace (
"("
, "
"). replace ("
)
","
"))
temp.append (num)
if
")"
em
token:
res.append (
tupla
(temp))
temp
=
[]
# imprime resultado
print
(
"Lista após conversão de string:"
+
str
(res ))
Saída:
A string original é: (1, 3, 4), (5, 6 , 4), (1, 3, 6) Listar após a conversão ion from string: [(1, 3, 4), (5, 6, 4), (1, 3, 6) ]
Método nº 2: usando eval()
Esta função interna também pode ser usada para realizar esta tarefa. Esta função avalia internamente a string e retorna uma lista transformada de tuplas conforme desejado.
# código Python3 para demonstrar como funciona
# Converte string para lista de tuplas
# usando eval()
# string de inicialização
test_str
=
"(1, 3, 4), (5, 6, 4), (1, 3, 6)"
# imprime a linha original
print
(
"A string original é:"
+
test_str)
# Converte string para lista de tuplas
# using eval()
res
=
lista
(
eval
(test_str))
# imprime resultado
print
(
"Lista após conversão de string:"
+
str
(res))
Saída: b>
A string original é: (1, 3, 4), (5, 6, 4), (1, 3, 6) Lista após conversão da string: [(1, 3, 4 ), (5, 6, 4), (1 , 3, 6)]