python | Schleife index rausfinden



  • bei meiner einfacheren form der schleife gehts also nicht?



  • py schrieb:

    bei meiner einfacheren form der schleife gehts also nicht?

    Ich bin zwar in py nicht bewandert, aber ich nehme an, Du sollst statt

    for name in names:
       print(name)
       # aktueller index?
    

    schreiben

    for index, name in enumerate(names):
        print(name)
        # aktueller index? steht in variable namens index
    

    also nur ganz wenig aufwand und seine schleife nehmen.

    bei bedarf nach dem namen zu suchen, würde zwar gehen, aber ungleich teurer sein, und was macht man, wenn der name zweimal vorkommt?



  • py schrieb:

    bei meiner einfacheren form der schleife gehts also nicht?

    was spricht denn gegen enumerate?

    unschön, aber ohne enumerate:

    i=0
    for s in names:
        print i, names[i]; i+=1
    


  • mir gefällt die einfache "for name in names:" Schleife einfach sieht so schön einfach und sauber aus und ich hatte gehofft, dass ich da auch an den index kommen kann. enumerate oder index mitzählen sieht halt schon wieder komplizierter aus.



  • du kannst auch mit names.index(name) an den Index herankommen:

    for name in names:
        print names.index(name), name
    

    klappt aber natürlich nur, wenn jeder Name nur 1-mal vorkommt ...



  • py schrieb:

    mir gefällt die einfache "for name in names:" Schleife einfach sieht so schön einfach und sauber aus und ich hatte gehofft, dass ich da auch an den index kommen kann. enumerate oder index mitzählen sieht halt schon wieder komplizierter aus.

    Was bitte ist an

    for i, v in enumerate(list):
    

    kompliziert? Willst du lieber ein

    for (int i=0; i<list.size(); i++)
    

    haben? In Python bekommst du wenigtens ein Index und den Wert gleichzeitig, anders als bei anderen Sprachen, bei denen du nur ein entweder/oder hast.



  • In D geht's afaik so:

    for index, name in names
    


  • Badestrand schrieb:

    In D geht's afaik so:

    for index, name in names
    

    Jetzt kommen wieder die Leute mit ihren esoterischen Sprachen 🙄



  • abgesehen davon, dass es dasselbe ist wie enumerate.



  • DEvent schrieb:

    py schrieb:

    mir gefällt die einfache "for name in names:" Schleife einfach sieht so schön einfach und sauber aus und ich hatte gehofft, dass ich da auch an den index kommen kann. enumerate oder index mitzählen sieht halt schon wieder komplizierter aus.

    Was bitte ist an

    for i, v in enumerate(list):
    

    kompliziert?

    Lern lesen


Anmelden zum Antworten