Python compteur de boucle dans une boucle for

Dans mon exemple de code ci-dessous, le compteur = 0 vraiment nécessaire, ou est-il un meilleur, plus de Python, de façon à obtenir l'accès à un compteur de boucle? J'ai vu un peu de PEPs liées aux compteurs de boucle, mais ils étaient soit différé ou refusé (PEP 212 et PEP 281).

C'est un exemple simplifié de mon problème. Dans mon application réelle de ce qui est fait avec des graphiques et de l'ensemble du menu doit être repeint chaque image. Mais cela démontre dans un texte simple manière qui est facile à reproduire.

Je devrais peut-être ajouter que je suis à l'aide de Python 2.5, même si je suis toujours intéressé si il y a une manière spécifique de 2.6 ou supérieur.

# 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

Lorsqu'il est exécuté, il affiche:

 [ ] Option 0
 [ ] Option 1
 [*] Option 2
 [ ] Option 3
InformationsquelleAutor Andre Miller | 2009-07-26