Seite 1 von 1

Anzahl aller Elemente in einer Liste

Verfasst: Donnerstag 11. Dezember 2008, 13:25
von peddy
Hallo,

ich lerne gerade Python und spiele daher gerade mit Listen rum. Dabei tauchte eine Frage auf die ich bisher nicht klären konnte.

Wie ermittel ich wie viele Eintrage eine Liste hat bzw. was der höchste Index ist?

Verfasst: Donnerstag 11. Dezember 2008, 13:27
von peddy
Ok habs auf einmal doch noch gefunden. len()

Verfasst: Donnerstag 11. Dezember 2008, 16:18
von derdon

Code: Alles auswählen

In [1]: my_list = [23, 42, "SPAM", "eggs"]

In [2]: my_list.index(my_list[-1]) + 1
Out[2]: 4
8)

Verfasst: Donnerstag 11. Dezember 2008, 16:21
von Zap
derdon hat geschrieben:

Code: Alles auswählen

In [1]: my_list = [23, 42, "SPAM", "eggs"]

In [2]: my_list.index(my_list[-1]) + 1
Out[2]: 4
8)
Neenee :P

Code: Alles auswählen

In [10]: my_list = [23, "eggs", 42, "SPAM", "eggs"]

In [11]: my_list.index(my_list[-1]) + 1
Out[11]: 2

Verfasst: Donnerstag 11. Dezember 2008, 17:04
von derdon

Code: Alles auswählen

In [71]: my_list
Out[71]: [23, 'eggs', 42, 'SPAM', 'eggs']

In [72]: def len_(the_list):
    try:
        if the_list.count > 1:
            return the_list.index(the_list[-1], the_list.count(the_list[-1])) + 1
        else:
            return the_list.index(the_list[-1]) + 1
    except IndexError:
        return 0
   ....:
   ....:

In [80]: len_(my_list)
Out[80]: 5
Jetzt aber :wink:

Edit: IndexError wird abgefangen. Wenn die Liste leer ist, wird 0 zurückgegeben, weil die Länge dann gleich null ist.

Verfasst: Donnerstag 11. Dezember 2008, 17:32
von BlackJack
@derdon: Die *Länge* ist aber 5 und nicht 4.

Code: Alles auswählen

In [231]: my_list = [23, 'eggs', 42, 'SPAM', 'eggs']

In [232]: sum(1 for dummy in my_list)
Out[232]: 5

Verfasst: Donnerstag 11. Dezember 2008, 17:39
von derdon
Habs schon berichtigt (siehe oben).