En mi código de ejemplo a continuación, ¿el contador = 0 es realmente necesario, o hay una manera mejor, más de Python, de obtener acceso a un contador de bucle? Vi algunas PEP relacionadas con los contadores de bucles, pero fueron diferidas o rechazadas (PEP 212 y PEP 281).Contador de bucle de Python en un bucle for
Este es un ejemplo simplificado de mi problema. En mi aplicación real, esto se hace con gráficos y todo el menú debe ser repintado en cada cuadro. Pero esto lo demuestra en una forma sencilla de texto que es fácil de reproducir.
Quizás también debería agregar que estoy usando Python 2.5, aunque todavía estoy interesado si hay una forma específica para 2.6 o superior.
# Draw all the options, but highlight the selected index
def draw_menu(options, selected_index):
counter = 0
for option in options:
if counter == selected_index:
print " [*] %s" % option
else:
print " [ ] %s" % option
counter += 1
options = ['Option 0', 'Option 1', 'Option 2', 'Option 3']
draw_menu(option, 2) # Draw menu with "Option2" selected
Cuando se ejecuta, salidas:
[ ] Option 0
[ ] Option 1
[*] Option 2
[ ] Option 3
puede simplemente utilizar la propiedad length matriz en lugar del en el bucle método, para i
Jim
posible duplicado de [Acceso al índice en Python para bucles] (http://stackoverflow.com/questions/522563/accessing-the-index-in-python-for-loops) –