Articles of iteración

¿Hay una manera de tener paralelos para cada uno de los bucles?

Digamos que tengo 2 listas en Python y quiero recorrer cada una en paralelo; por ejemplo, hacer algo con el elemento 1 para ambas listas, hacer algo con el elemento 2 para ambas listas … Sé que puedo hacer esto usando un índice: for listIndex in range(len(list1)): doSomething(list1[listIndex]) doSomething(list2[listIndex]) Pero, ¿hay una manera de hacerlo […]

¿Hay un equivalente en Python de rango (n) para rangos multidimensionales?

En Python, el rango (3) devolverá [0,1,2]. ¿Hay un equivalente para rangos multidimensionales? range((3,2)) # [(0,0),(0,1),(1,0),(1,1),(2,0),(2,1)] Así, por ejemplo, un bucle a través de los mosaicos de un área rectangular en un juego basado en mosaicos podría escribirse como: for x,y in range((3,2)): Tenga en cuenta que no estoy pidiendo una implementación. Me gustaría saber […]

Obtener el siguiente elemento mientras recorres una lista

li = [0, 1, 2, 3] running = True while running: for elem in li: thiselem = elem nextelem = li[li.index(elem)+1] Cuando esto llega al último elemento, se IndexError un IndexError (como es el caso de cualquier lista, tupla, diccionario o cadena que se itera). De hecho, en ese momento quiero que nextelem igual a […]

Iterando sobre dos listas una tras otra

Tengo dos listas, list1 y list2 de números, y quiero repetirlas con las mismas instrucciones. Me gusta esto: for item in list1: print(item.amount) print(item.total_amount) for item in list2: print(item.amount) print(item.total_amount) Pero eso se siente redundante. Sé que puedo escribir for item in list1 + list2: pero tiene un precio de tiempo de ejecución. ¿Hay alguna […]

Búsqueda / reemplazo iterativo de una lista de tuplas en Python

Tengo una lista de tuplas, cada una con un valor de buscar / reemplazar que me gustaría aplicar a una cadena. ¿Cuál sería la forma más eficiente de hacerlo? Aplicaré esto de manera iterativa, por lo que el rendimiento es mi mayor preocupación. Más concretamente, ¿qué aspecto tendrían las entrañas del proceso ()? x = […]

Python `for` no itera sobre el objeto de enumeración

¿Por qué esto no se repite? import logging logging.basicConfig(level=logging.DEBUG) x = [] y = [[] for n in range(0, 1)] linedata = [“0″,”1″,”2”] x.append( linedata[0] ) d = linedata[1:] logging.debug( “d: {}”.format(d) ) e = enumerate(d) logging.debug( list(e) ) for k, v in e: logging.debug( “k:{} v:{}”.format( k, v ) ) y[int(k)].append( v ) #for […]

Convertir el promedio de los valores de la lista de Python en otra lista

Tengo listas como esta. list = [[“Joe”, 5, 7], [“Joe”, 6, 9], [“Mike”, 1,4], [“Joe”, 7,4], [“Mike”, 5,7]] ¿Cómo puedo convertir esta lista a una lista como esta: list2 = [[“Joe”, 6.00, 6.66], [“Mike”, 3.00, 5.50]] list2 [0] [1] y list2 [1] [1] son ​​los valores promedio de la primera lista con personas específicas (6.00 […]

rango (len (lista)) o enumerar (lista)?

Posible duplicado: Solo índice necesario: enumerar o (x) rango? ¿Cuál de estos sería considerado mejor / más claro / más rápido / más ‘Pythonic’? No me importa el contenido de la lista L , solo el tiempo que dura. a = [f(n) for n, _ in enumerate(L)] o a = [f(n) for n in range(len(L))] […]

¿Por qué la iteración sobre este bucle no agrega celdas en openpyxl?

Dado lo siguiente como el contenido de la primera hoja de un xlsx roi.xlsx: Entonces: wb = load_workbook(‘roi.xlsx’, data_only=True) ws=wb.worksheets[0] keynames = [i.value for i in ws.columns[0]] Quiero agregar valores a la columna B desde el siguiente dictado: mydict = {‘carnival’: 2, ‘festival’: 3} Cuando bash for k, v in mydict.items(): keyPosition = keynames.index(k) ws.cell(row […]

El orden de iteración establecido varía de una ejecución a otra

¿Por qué el orden de iteración de un conjunto de Python (con el mismo contenido) varía de una ejecución a otra, y cuáles son mis opciones para que sea consistente de una ejecución a otra? Entiendo que el orden de iteración de un conjunto de Python es arbitrario. Si pongo ‘a’, ‘b’ y ‘c’ en […]