Angenommen, ich habe eine Liste mit X-ElementenWie eine Liste in Python trimmen
[4,76,2,8,6,4,3,7,2,1...]
ich die ersten 5 Elemente möchte. Es sei denn, es hat weniger als 5 Elemente.
[4,76,2,8,6]
Wie geht das?
Angenommen, ich habe eine Liste mit X-ElementenWie eine Liste in Python trimmen
[4,76,2,8,6,4,3,7,2,1...]
ich die ersten 5 Elemente möchte. Es sei denn, es hat weniger als 5 Elemente.
[4,76,2,8,6]
Wie geht das?
Sie Subindex es nur mit [:5]
darauf hinweist, dass Sie (bis zu) den ersten 5 Elemente wollen.
>>> [1,2,3,4,5,6,7,8][:5]
[1, 2, 3, 4, 5]
>>> [1,2,3][:5]
[1, 2, 3]
>>> x = [6,7,8,9,10,11,12]
>>> x[:5]
[6, 7, 8, 9, 10]
Auch auf der rechten Seite der Zahl der Doppelpunkt setzen bedeutet Zählung aus dem n-ten Element ab - vergessen Sie nicht, dass die Listen 0-basiert!
>>> x[5:]
[11, 12]
Dies wird allgemein als Slicing bezeichnet. – Steve314
Dadurch wird eine * neue * Liste erstellt, die vorhandene wird nicht gekürzt. Um an Ort und Stelle zu trimmen, verwenden Sie "del" auf einer Scheibe; z.B. 'del listobj [-x:]' löscht die letzten * x * Elemente aus dem Listenobjekt. –
l = [4,76,2,8,6,4,3,7,2,1]
l = l[:5]
Nennen Sie nicht Ihre Listen 'liste' in realem Code! –
@too Natürlich wird dies nur zu Demonstrationszwecken gemacht: D – mgbowen
>>> [1,2,3,4,5,6,7,8,9][:5]
[1, 2, 3, 4, 5]
>>> [1,2,3][:5]
[1, 2, 3]
eine Liste an Ort und Stelle zu trimmen, ohne Kopien davon zu erstellen, verwenden del
:
>>> t = [1, 2, 3, 4, 5]
>>> # delete elements starting from index 4 to the end
>>> del t[4:]
>>> t
[1, 2, 3, 4]
>>> # delete elements starting from index 5 to the end
>>> # but the list has only 4 elements -- no error
>>> del t[5:]
>>> t
[1, 2, 3, 4]
>>>
Siehe auch: http://stackoverflow.com/questions/509211/good-primer- for-python-slice-notation –