pyplot python foreach

pyplot - title plt python



Python foreach equivalente (6)

Me estoy sumergiendo en Python y tengo una pregunta sobre la iteración foreach. Soy nuevo en Python y tengo algo de experiencia en C #. Así que me pregunto si hay alguna función equivalente en Python para la iteración de todos los elementos de mi colección, p. Ej.

pets = [''cat'', ''dog'', ''fish''] marks = [ 5, 4, 3, 2, 1]

o algo como esto.


Me gusta esto:

for pet in pets : print(pet)

De hecho, Python solo tiene un estilo foreach for bucles.


Para obtener una respuesta actualizada, puede crear una función forEach en Python fácilmente:

def forEach(list, function) for i,v in enumerate(list)) function(v, i, list)

También puede adaptar esto al map , reduce , filter y cualquier otra función de matriz de otros idiomas o precedencia que desee trasladar. Los bucles son lo suficientemente rápidos, pero la placa de la caldera es más larga que para forEach las funciones. También puede extender la lista para tener estas funciones con un puntero local a una clase para poder llamarlas directamente en las listas también.


Para un dict podemos usar un bucle for para iterar a través del index , key y value :

dictionary = {''a'': 0, ''z'': 25} for index, (key, value) in enumerate(dictionary.items()): ## Code here ##


Por supuesto. Un bucle for.

for f in pets: print f


Si bien las respuestas anteriores son válidas, si está iterando sobre un dict {key: value}, este es el enfoque que me gusta usar:

for key, value in Dictionary.items(): print(key, value)

Por lo tanto, si quisiera hacer algo como stringify todas las claves y valores en mi diccionario, haría esto:

stringified_dictionary = {} for key, value in Dictionary.items(): stringified_dictionary.update({str(key): str(value)}) return stringified_dictionary

Esto evita cualquier problema de mutación al aplicar este tipo de iteración, lo que puede causar un comportamiento errático (a veces) en mi experiencia.


También es interesante observar esto

Para iterar sobre los índices de una secuencia, puede combinar range() y len() siguiente manera:

a = [''Mary'', ''had'', ''a'', ''little'', ''lamb''] for i in range(len(a)): print(i, a[i])

salida

0 Mary 1 had 2 a 3 little 4 lamb

Editar # 1: forma alternativa:

Al recorrer una secuencia, el índice de posición y el valor correspondiente se pueden recuperar al mismo tiempo utilizando la función enumerate() .

for i, v in enumerate([''tic'', ''tac'', ''toe'']): print(i, v)

salida

0 tic 1 tac 2 toe