Red de conocimientos turísticos - Información de alquiler - Explica cómo iterar y recorrer en programación Python con ejemplos

Explica cómo iterar y recorrer en programación Python con ejemplos

Iteración

Primero comprenda qué es la iteración. Todos los métodos de escaneo de objetos de izquierda a derecha en Python son iterables.

¿Cuáles son los métodos Iterables? p>

1. Operación de archivo

Cuando leemos un archivo, usaremos un método readline(). De hecho, es un iterador, que devolverá los datos actuales y luego lo llamará automáticamente. el método integrado next() para mover automáticamente el encabezado de lectura del archivo a la siguiente línea para prepararse para la siguiente lectura. Cuando se llegue al final del archivo, se devolverá una cadena vacía.

gt; gt; f=open('hola.py')

gt; f.readline()

'#!/usr /bin/ python2.5

<'

gt;gt;gt; f.readline()

'imprimir "hola.palabra!"

'

gt;gt;gt; f.readline()

'

gt;gt; .readline()

''

gt; gt; para i en open('hola.py'):

.. . i)

...

#!/usr/bin/python2.5

imprimir "¡hola.palabra!"

Si utiliza el método anterior para leer el contenido del archivo, la velocidad es muy rápida y el uso de memoria es relativamente bajo. Es especialmente adecuado para operar archivos grandes.

El siguiente método es adecuado para operar algunos pequeños. archivos, con velocidad y eficiencia No es tan bueno como el anterior, por lo que le sugiero que intente utilizar el anterior cuando opere archivos en el futuro.

gt;gt;gt; para i en open('hello.py').readlines():

... imprimir i

..

#!/usr/bin/python2.5

imprimir "hello.word!"

método de lectura y método de línea de lectura,

El método read() coloca el contenido de todo el archivo en una cadena

El método readline() coloca el contenido del archivo en una lista según unidades de comportamiento.

Generalmente, si desea reemplazar un determinado carácter en un archivo, es mejor usar readline y luego usar un bucle para recorrer el contenido línea por línea, y luego buscar y reemplazar. más eficiente que leer la cadena completa para encontrar una coincidencia. El efecto es mayor.

2 bucle for

Por ejemplo:

gt; gt; para i en el rango(5):

.. . print(i)

...

El proceso de procesamiento intermedio es el mismo:

gt; p>

gt;gt;gt; I=iter(L)

gt;gt;gt; I.siguiente()

gt;gt;gt; siguiente()

1

gt;gt;gt; I.siguiente()

2

gt;gt;gt; I.siguiente()

3

gt;gt;gt; I.siguiente()

4

gt;gt; gt; I.next()

Rastreo (última llamada más reciente):

Archivo "", línea 1, en

StopIteration

Cada vez que se llama al iterador, el método next() devuelve el resultado y mueve el puntero del archivo una línea hacia abajo. Finalmente, la iteración finaliza con una excepción StopIteration.

3. Análisis de listas:

Comparado con Python for loop, será mucho más rápido

Por ejemplo:

gt; ; gt; L=

Como puede ver en lo anterior, esta también es una forma de crear una lista de Python.

El ejemplo anterior también se puede implementar usando un bucle for.

gt; gt; res= #list

for i in y:

print i,

root@10.1.6.200: python# python 3.py

h e l l o 1 2 3 4 5 6

2. Pase la secuencia Atraviese usando el método de índice de desplazamiento (índice)

Es decir, itere el índice de secuencia Nota: itere y ejecute una instrucción repetidamente.

root@10.1.6.200: python. # vim 3 .py

#!/usr/bin/python2.5

x='hola'

for i in range(len(x) ):

imprimir x

para i en el rango(len(y)):

imprimir y[i],

raíz @10.1 6.200: python# python 3.py

h e l l o 1 2 3 4 5 6

Hay dos formas de obtener el valor del diccionario:

1. Obtenga la primera clave del diccionario, obtenga el valor del índice

root@10.1.6.200: python# vim 5.py

#!/usr/bin/python2.5<. /p>

z = {1: 'a', 2: 'b', 3: 'c'}

para i en z:

print z[i ]

root@10.1.6.200: python# python 5.py

a

b

c

2. A través del método de elementos del diccionario, obtenga todos los pares clave-valor y utilice la división de tuplas para obtener los valores correspondientes.

root@10.1.6.200: python# cat 5.py

#!/usr /bin/python2.5

z = {1: 'a', 2: 'b', 3: 'c'}

imprimir z.items ()

forma m, n en z.items():

imprimir m, n

root@10.1.6.200: python# python 5.py

[(1, 'a'), (2, 'b'), (3, 'c')]

1 a

2 b

3c