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?
Anzahl aller Elemente in einer Liste
Code: Alles auswählen
In [1]: my_list = [23, 42, "SPAM", "eggs"]
In [2]: my_list.index(my_list[-1]) + 1
Out[2]: 4

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
Neenee

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
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

Edit: IndexError wird abgefangen. Wenn die Liste leer ist, wird 0 zurückgegeben, weil die Länge dann gleich null ist.
@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
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder