lista de aplanar python

Acoplar una lista se refiere al proceso de eliminar una dimensiòn de una lista. Una dimensiòn se refiere a una coordenada adicional necesaria para ubicar un elemento en una lista. Puede aplanar una lista de Python usando una lista de comprensiòn, un bucle for anidado o el método itertools.chain ().

Una lista de Python puede contener varias dimensiones. Esto significa que tiene una lista dentro de listas. Estas listas, a veces denominadas "listas anidadas", se puede volver a convertir en una lista normal.

Esto significa que puede mover todos los valores de las listas dentro de una lista a una sola lista. Convertir una lista de listas en una lista se denomina " acoplar una lista "

Python Flatten List

Hay tres formas de acoplar una lista de Python:

  • Usando una lista de comprensiòn.
  • Usando un bucle for anidado.
  • Usando el método itertools.chain ().

En esta guìa, hablamos sobre còmo aplanar una lista usando una comprensiòn de lista, un bucle for y el método itertools.chain () . Analizamos dos ejemplos para que pueda comenzar a aplanar listas en sus propios programas.

Python: Aplanar listas usando una comprensiòn de listas

A Comprensiòn de lista de Python define una lista basada en el contenido de una lista existente. Puede personalizar cada elemento que entra en su nueva lista especificando condiciones o cambios dentro de la comprensiòn.

Las comprensiones son un az√∫car sintáctico para usar un bucle for para iterar sobre una lista y generar una nueva lista. Esto significa que funcionan de la misma manera fundamental que un bucle for pero usan una sintaxis diferente.

Aquì está la sintaxis para una comprensiòn de la lista:

El 81% de los participantes dijeron que se sentìan más seguros sobre sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asòciese a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasò menos de seis meses en la transiciòn profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Esta comprensiòn multiplica cada n√∫mero en nuestros " n√∫meros " list by 2.

Lista plana: Ejemplo de comprensiòn de listas

Tenemos una lista de listas que contiene diferentes rellenos de sándwich disponibles en un restaurante. Actualmente, nuestra lista de listas se ve asì:

El primer la lista contiene rellenos veganos para sándwiches; la segunda lista contiene rellenos vegetarianos para sándwiches; la tercera lista contiene todos los rellenos de sándwich que contienen carne.

Queremos convertir esta lista en una √∫nica lista de alimentos. Es más fácil trabajar con una lista con una dimensiòn en lugar de dos. No es necesario tener más de una dimensiòn en esta lista. Para eliminar la segunda dimensiòn de nuestra lista, podemos usar una lista de comprensiòn:

Esta lista de comprensiòn itera sobre todas las listas de " alimentos " Variable de Python . Luego, cada valor se agrega a una lista principal. Una vez que se genera nuestra lista, la imprimimos en la consola.

Veamos nuestro còdigo y veamos qué sucede:

Nuestra lista de listas se ha transformado con éxito en una lista. Todos los ingredientes ahora aparecen dentro de una lista en lugar de tres.

También logramos este mismo resultado usando un Python for loop anidado. " Anidado para bucle " es otra forma de decir "un bucle for dentro de un bucle for". Nuestra lista de comprensiòn es otra forma de representar lo siguiente para el bucle:

Nuestro còdigo usa dos bucles for para iterar sobre cada elemento de la lista en cada lista en la lista original de listas. Ejecutemos nuestro còdigo:

Nuestro programa devuelve el mismo resultado que nuestra lista de comprensiòn. En la mayorìa de los casos, la comprensiòn de una lista es una mejor soluciòn que un bucle for. Las listas por comprensiòn son más cortas y, en este caso, más fáciles de leer que un bucle for anidado.

Python: Flatten List Using Itertools

Itertools es un mòdulo de la biblioteca estándar de Python. El mòdulo proporciona una variedad de métodos, lo que facilita el trabajo con iterable objetos y generadores.

Para nuestros propòsitos, solo nos referimos al método chain () . Este método acepta una lista de listas y devuelve una lista plana.

Comience importando el mòdulo itertools en nuestro còdigo usando una declaraciòn de importaciòn de Python :

A continuaciòn, defina la lista de listas y use el método chain () para aplanar la lista:

En nuestro còdigo, usamos el sìmbolo * para descomprimir nuestra lista. Esto convierte nuestra lista en argumentos de funciòn que pueden ser analizados por el método chain () .

El método chain () devuelve un objeto itertools.chain. Para ver nuestra lista aplanada, tenemos que convertir este objeto en una lista. Hacemos esto usando el método list () :

Ejecutemos nuestro còdigo:

Nuestro còdigo ha aplanado nuestra lista.

"Career Karma entrò en mi vida cuando más lo necesitaba y rápidamente me ayudò a combinar con un bootcamp. ¬°Dos meses después de graduarme, encontré el trabajo de mis sue√±os que se alineaba con mis valores y metas en la vida!"

Venus, ingeniero de software de Rockbot

Si bien itertools es una forma eficaz de aplanar una lista, es más avanzada que los dos √∫ltimos enfoques que hemos hemos discutido.

Esto se debe a que debe importar itertools en su còdigo, lo que introduce una nueva dependencia. Es más, el método chain () implica desempaquetar, lo que puede ser difìcil de entender. & Nbsp;

Conclusiòn

Puede aplanar una lista de Python usando una lista de comprensiòn, un bucle for anidado y el método itertools.chain (). La comprensiòn de la lista es la más " Pythonic " método y, por lo tanto, se prefiere en la mayorìa de los casos.

Si bien los bucles for anidados son efectivos, consumen más lìneas de còdigo que una lista de comprensiòn. El método itertools.chain () es igualmente efectivo pero puede ser difìcil de entender para los principiantes.

Por lo general, no es necesario importar una nueva biblioteca & mdash; itertools & mdash; cuando Python le brinda todas las herramientas que necesita para aplanar una lista.

¿Quiere aprender más sobre Python? Consulte nuestra guìa de còmo aprender Python completa. Encontrará consejos de aprendizaje de expertos y una lista de los mejores cursos y libros de los que puede aprender. .

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method