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