¿Cómo convertir listas anidadas de listas en una lista de tuplas en Python 3.3?
tuples nested-lists (3)
Estoy tratando de convertir una lista anidada de listas en una lista de tuplas en Python 3.3. Sin embargo, parece que no tengo la lógica para hacer eso.
La entrada se ve de la siguiente manera:
>>> nested_lst = [[''tom'', ''cat''], [''jerry'', ''mouse''], [''spark'', ''dog'']]
Y el ouptput deseado debería verse exactamente como sigue:
nested_lst_of_tuples = [(''tom'', ''cat''), (''jerry'', ''mouse''), (''spark'', ''dog'')]
Puedes usar map()
:
>>> list(map(tuple, [[''tom'', ''cat''], [''jerry'', ''mouse''], [''spark'', ''dog'']]))
[(''tom'', ''cat''), (''jerry'', ''mouse''), (''spark'', ''dog'')]
Esto es equivalente a una lista de comprensión, excepto que el map
devuelve un generador en lugar de una lista.
Solo use una lista de comprensión:
nested_lst_of_tuples = [tuple(l) for l in nested_lst]
Manifestación:
>>> nested_lst = [[''tom'', ''cat''], [''jerry'', ''mouse''], [''spark'', ''dog'']]
>>> [tuple(l) for l in nested_lst]
[(''tom'', ''cat''), (''jerry'', ''mouse''), (''spark'', ''dog'')]
[tuple(l) for l in nested_lst]