Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo entender a en b por a en c en Python?

¿Cómo entender a en b por a en c en Python?

Entiendo tu confusión. Creo que esto es un problema para cualquiera que sea nuevo en este método de escritura, pero gradualmente entendí su orden de ejecución. La forma más fácil de entenderlo es escribir un equivalente. No hay diferencia esencial entre "a en b para b en c" y "x para x en y", excepto que la salida b del primero como parámetro "in" sólo puede continuar operando una vez (de la misma manera que puede realizar otras operaciones, no Debe ser a en b, pero ahora es una lista. Si c es una lista unidimensional, entonces es circular) Si c es una lista unidimensional, entonces la salida de b es un elemento. Suponiendo que es un número, entonces puede realizar operaciones similares a b+1 para b en c), generalmente se usa para generar una lista, por lo que es mejor decir más que solo dar un ejemplo (todos los siguientes ejemplos están probados y aprobado):

``

#? Matriz bidimensional (llamada lista en Python)

c?=?[[7,?8,? 9],? [1,? 2,?3],?[4,?5,?6]]

#?Escritura simple, el resultado:?[7,?8,?9, ?1,?2,?3, ?4,?5,?6]

l1?=?[a?for?b?in?c?for?a?in?b]

print(l1)

#?Escritura convencional (equivalente a la escritura simple anterior), el resultado:?[7,?8,?9,?1,?2,?3 ,?4,?5,?6]

l2?=?[]

para?b?in?c:

para?a?in ?b:

l2.append(a)

print(l2)

#?La a anterior también se puede pasar como parámetro a otras funciones o usado en expresiones, como un parámetro de in, el resultado es:?[False,?True,?False]

#?Explique la secuencia de ejecución: primero ejecute for?in, realice un bucle una vez para obtener a b, y luego ejecute num?in?b, num?in? El resultado de b (Verdadero/Falso) se utiliza como

#? y luego comienza el siguiente for?

num =?3

l3 =?[num?in?b?for?b?in?c]

print(l3)

#?El método de escritura anterior es equivalente a

l4?=?[]

para?b?in?c:

l4.append(num?in?b)

print( l4)

#?Resultado: [8,?9,?10,?2,? 3,?4,?5,?6,?7]

l5?= ?[a+1?for?b?in?c?for?a?in?b]

print(l5)

#?Este método de escritura es el método de escritura convencional del método de escritura anterior

l6?[]

for?b ?in?c:

para?a?in?b:

l6 agregar(a+1)

imprimir(l6)

.

``

Después de enviar la respuesta, descubrí que Baidu eliminó la sangría de todos los espacios y la sangría Jin es el alma de Python.

Python es el alma de Python. No hay forma de ejecutar código Python sin sangría. Te daré una captura de pantalla. Puedes copiar el código y sangrarlo tú mismo:

Python. tiene una forma de escribir: a en b para b en c

Revisé mi respuesta nuevamente. Lo que quiero quejarme esta vez es que no vengas aquí para hacer preguntas sobre el código. Mire Baidu para conocer el código anterior, que no se puede incrustar en absoluto.

Baidu sabe que es imposible incrustar código en absoluto, por lo que trata directamente el código como texto normal y elimina todos los espacios y sangrías. Entonces pensé, está bien, has eliminado los espacios en el texto, y así es. igual a la foto que subí no? Como resultado, esta imagen estaba comprimida y borrosa, y apenas era legible, así que conformarnos con ella.