Ich bemerkte etwas verwirrendes Verhalten, wenn er ein flaches numpy Array mit einer Liste der Tupel indexierte (mit Python 2.7.8 und numpy 1.9.1). Meine Vermutung ist, dass dies mit der maximalen Anzahl von Array-Dimensionen zusammenhängt (was meiner Meinung nach 32 ist), aber ich konnte die Dokumentation nicht finden.Merkwürdiges Verhalten des Tupel, das ein numply Feld indexiert
>>> a = np.arange(100)
>>> tuple_index = [(i,) for i in a]
>>> a[tuple_index] # This works (but maybe it shouldn't)
>>> a[tuple_index[:32]] # This works too
>>> a[tuple_index[:31]] # This breaks for 2 <= i < 32
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: too many indices for array
>>> a[tuple_index[:1]] # This also works...
Wird die Liste der Tupel "abgeflacht", wenn sie 32 Elemente oder größer ist? Ist das irgendwo dokumentiert?
Interessant, bekomme ich eine andere Fehlermeldung: 'IndexError: nicht unterstützten Iterator-Index '. Mit Python 2.7 und numpy 1.8.2 – swenzel
Sorry, ich hätte die Versionen (Python 2.7.8; numpy 1.9.1) angegeben. Ich habe die Frage aktualisiert. – kadrlica