Colección de citas famosas - Slogan de motivación - #Aprende Python con un poco de esfuerzo#Derivación de listas y derivación de diccionarios

#Aprende Python con un poco de esfuerzo#Derivación de listas y derivación de diccionarios

La derivación en Python es un conocimiento muy pitónico. Este blog le brindará respuestas detalladas al conocimiento técnico relacionado con la derivación de listas y la derivación de diccionarios.

La derivación de listas puede utilizar tipos de datos como listas, tuplas, diccionarios y conjuntos para generar rápidamente listas con requisitos específicos.

El formato de sintaxis es el siguiente:

Si no se requiere expresión condicional. Después de aprender a derivar la lista, puede encontrar que es una declaración variante del bucle for. Por ejemplo, requerimos que todos los elementos de la lista tengan el doble del valor original.

Escritura de bucle for

Escritura de derivación de lista

¿Agrega un [] después de que se deforma la instrucción del bucle for, pero tenga en cuenta que la derivación de lista eventualmente se formará? Una nueva lista.

Echemos un vistazo a la gramática de derivación de listas: nn_list = [i*2 for i in my_list]. La palabra clave for va seguida de un bucle ordinario. La I en la expresión anterior i*2 es la variable en el bucle for, lo que significa que la expresión puede utilizar las variables generadas por la iteración del bucle for. Si comprende la derivación de esta lista de contenido, habrá dominado el 90% del contenido y el resto es una cuestión de competencia.

Después de incluir la declaración if en el código y ejecutarla, también podrá dominar las habilidades básicas. La declaración if es un juicio e I también es la variable de iteración generada por el ciclo anterior.

Estas son técnicas generales. Las listas por comprensión pueden admitir dos niveles de bucles for, como el siguiente código:

Por supuesto, si desea cifrar (nadie puede entender su código). ) Tu código, puedes configurarlo ilimitadamente. Las listas por comprensión no limitan el número de bucles. Los bucles de varios niveles están anidados nivel por nivel. Puede ampliar una lista de comprensión de tres niveles y comprenderá todo.

Por supuesto, en la derivación de listas de varios niveles, las declaraciones if todavía son compatibles. Las variables generadas por todas las iteraciones anteriores pueden seguirse, pero no se recomienda exceder 20, lo que reducirá en gran medida la legibilidad. de tu código.

Por supuesto, si quieres que tu código sea más difícil de leer, lo siguiente es correcto.

Ahora tienes una idea relativamente intuitiva de la derivación de listas. La versión en inglés de la derivación de listas es la síntesis de listas y, en algunos lugares, se escriben expresiones de análisis de listas. Según su resultado final, se trata de una sintaxis para crear listas muy concisa.

Utilizar dos métodos de escritura diferentes debe ser más eficiente. Después de las pruebas, la variedad de datos pequeños tiene poco impacto. Cuando el número de ciclos llega a 10 millones, algo es diferente.

Resultados de la ejecución:

En Python3, la derivación de listas tiene alcance local. Las variables y las asignaciones dentro de las expresiones solo funcionan localmente. Las variables con el mismo nombre en el contexto de la expresión también pueden funcionar. , las variables locales no los afectarán. Así no habrá problema de fuga variable. Por ejemplo, el siguiente código:

La derivación de listas también admite el anidamiento.

El código de referencia es el siguiente, no hay nada inesperado ni imposible.

Con el concepto de derivación de lista, la derivación de diccionario es muy simple y fácil de aprender. El formato de sintaxis es el siguiente:

Basta con mirar el caso directamente

Los resultados son los siguientes:

Lo que hay que tener en cuenta en este momento es que las claves con el mismo nombre no pueden aparecer en el diccionario. El primer valor se sobrescribirá cuando aparezca por segunda vez. los valores obtenidos son todos 1.

El lugar más común es el siguiente código, que atraviesa un objeto iterable con relaciones clave-valor.

De hecho, deberías poder adivinar que hay dos tipos de derivación en Python. Creo que dominas la sintaxis. Sin embargo, a pesar de la sintaxis similar, los resultados de la derivación de tuplas son diferentes, como se muestra a continuación.

Resultado después de la ejecución:

El resultado generado mediante la derivación de tuplas no es una tupla, sino un objeto generador, por lo que se requiere atención especial. En algunos lugares, esta forma de escribir se llama gramática generadora en lugar de deducción de tuplas.

Hay otra derivación de conjunto que necesita atención. Veamos primero el código:

Debido a que el conjunto está desordenado y no se repite, los elementos repetidos se eliminarán automáticamente y cada vez. se muestra El orden es diferente, por lo que es fácil confundirse al usarlos.

En este blog, aprendimos sobre la derivación de listas y diccionarios. Después de dominarlos y usarlos hábilmente, tus habilidades en Python darán un paso más.