@Lennart: Einrückung ist in Python wichtig. Was gehört denn Deiner Meinung nach zu der ``for``-Schleife? Nur das ``del`` oder auch das `print()`? Woher weisst *Du* das? Und woher soll *Python* das wissen?
Das ist aber auch von der Idee her kaputt, denn das löscht *nicht* die ersten `idx` Elemente. Im ersten Durchlauf der Schleife würde das erste Element gelöscht, und alle weiteren Rücken eins nach vorne. Im zweiten Durchlauf wird dann aber nicht das ursprünglich zweite Element gelöscht, denn an der zweiten Stelle steht ja nun das ursprünglich dritte Element.
Die Elemente einzeln vorne aus einer Sequenz zu löschen dürfte bei den meisten Sequenztypen auch sehr ineffizient sein. Und bei Numpy-Arrays geht das *gar nicht* weil sich deren Grösse nicht verändern kann:
Code: Alles auswählen
In [3]: del np.arange(0, 10)[0]
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-3-ed59e3b882a4> in <module>()
----> 1 del np.arange(0, 10)[0]
ValueError: cannot delete array elements
Du könntest/müsstest ein neues Array erstellen, aus den Elementen, die Du behalten möchtest. Das geht am einfachsten mit der Slicing-Syntax:
Code: Alles auswählen
In [4]: np.arange(0, 10)[5:]
Out[4]: array([5, 6, 7, 8, 9])