La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

Para bucle en Python

El Python para el bucle con el fin de atravesar cualquier objetos miembro, listas, cadenas, etc. En comparación con otro lenguaje de programación, su gramática es más conciso, no es necesario definir manualmente paso de iteración y empezar iteración. Aunque hay varias maneras de hacer el mismo comportamiento con otros lenguajes de programación (artículo no cubre). También puede continuar, como por ejemplo mediante el uso de, descanso, pasar a otras declaraciones en el bucle para un cierto control. El siguiente es un ejemplo sencillo de bucle en Python:

 >>> para un rango de (10):
... print (a)

El ciclo anterior para imprimir desde los diez dígitos 0 a 9.

La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

Las listas por comprensión

Las listas por comprensión es sólo un método abreviado para escribir varias líneas de bucle en la declaración de la línea. La siguiente lista de fórmula derivación ejemplar crea una nueva lista [0,1,2,3,4,5,6,7,8,9], que contiene toda la "a" valor.

>>> números = [a para una en el rango de (10)]
>>> print (números)

La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

Tenga en cuenta que las listas por comprensión siempre crean una nueva lista, y no modifica la expresión original utilizado en el iterable. Una fórmula típica se deriva la expresión debe tener una lista "para" cláusula, y puede ser seguido por "si" y la declaración condicional "más". Sin el uso de una lista por comprensión, la preparación del ejemplo anterior de la siguiente manera:

>>> números = []
>>> para X en la gama (10):
... numbers.append (x)
...
>>> print (números)

La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

El rendimiento y la facilidad de lectura

Derivación lista de circulación rápida que para. Sin embargo, a menos que usted quiere realizar el desplazamiento de cientos de miles de artículos, o que no notará una mejora significativa en el rendimiento. Aunque las listas por comprensión a ciclo de escritura proporciona un método simple, pero las expresiones complejas pueden conducir a una mala legibilidad del código y largo. Es importante mantener la legibilidad del código, a menos que sea absolutamente necesario para la ejecución del programa es lograr el más alto.

Ejemplo: El uso de una sintaxis lista por comprensión y la colección de diccionarios

Python es un diccionarios de bonos - un conjunto de valores definidos para los elementos de la colección es un conjunto de valores únicos no puede ser duplicada. Lista de derivación fórmula también se puede utilizar con el diccionario de Python y conjunto. La sintaxis es ligeramente diferente, ahora debe utilizar llaves en lugar de la expresión entre corchetes. También recibirá un nuevo objeto de diccionario / colección, en lugar de una nueva lista.

La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

Si el diccionario no se utiliza para derivar la fórmula (comprensiones del diccionario), el código es como sigue:

La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

Puesto que no hay conjunto de pares de valores clave, se puede apreciar que, de acuerdo con el conjunto de definición de la fórmula lista deriva de la misma manera. La única diferencia es el uso de aparatos de ortodoncia.

Ejemplo: una pluralidad de lista por comprensión Para Loop

La lista anteriormente mencionada es la comprensión básica de ejemplo, y una única "para" comunicado. Este es un ejemplo para una pluralidad de ciclos y condiciones "si" se utiliza comunicado.

La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

Ejemplo: con la una lista de fórmula derivación si-else cláusula

En el siguiente ejemplo se utiliza la lista para derivar la fórmula si else y se muestra.

>>> linux_list = [1, 2, 3, 4, 5]
>>> idc_list = [6, 7, 8, 9, 10]
>>> resultado = [Verdadero si (a + b)% 2 == 0 Falso persona por un linux_list en b por a en idc_list]
>>> print (resultado)

La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

Cuando se atraviesa las dos listas, Cheque entiende que la lista anterior es la suma de los elementos es un número par. Ejecutar el código anterior le [Falso, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False mostrar , True, False, True, False] como salida. La lista no se utiliza para derivar la fórmula, se muestra en el siguiente código:

>>> linux_list = [1, 2, 3, 4, 5]
>>> idc_list = [6, 7, 8, 9, 10]
>>> resultado = []
>>> para una en linux_list:
... b por a en idc_list:
... si (a + b) 2% == 0:
... result.append (verdadero)
... else:
... result.append (Falso)
...
>>> print (resultado)

La comprensión en profundidad de Python listas por comprensión (Lista de comprensión)

resumen

Las listas por comprensión proporcionan una buena manera de escribir sentencia de bucle simple. Sin embargo, si varios bucles y sentencias condicionales, pronto pueden hacerse compleja y difícil de entender. Pero para escribir explícita, fácil de leer, fácil de depurar el código es un hábito bueno, en lugar de un uso excesivo de abreviaturas.

Supongo que te gusta

Origin www.linuxidc.com/Linux/2020-03/162733.htm
Recomendado
Clasificación