Seite 1 von 1

Entfernen bei Listen von Listen

Verfasst: Donnerstag 21. Januar 2010, 22:19
von Alak
Ich würde gerne aus einer Liste von Listen einzelne Elemente entfernen. Remove scheint hierbei jedoch nicht zu funktionieren:

Code: Alles auswählen

a=[[1,2],[3,4],[5,6]]
a.remove([3,4])
Erzeugt einen Fehler:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Verfasst: Donnerstag 21. Januar 2010, 22:23
von DasIch
Das sollte durchaus funktionieren. Wo führst du den Code aus?

Verfasst: Donnerstag 21. Januar 2010, 22:26
von lunar

Code: Alles auswählen

>>> a = [[1,2], [3,4], [5,6]]
>>> a
[[1, 2], [3, 4], [5, 6]]
>>> a.remove([3,4])
>>> a
[[1, 2], [5, 6]]
Der Fehler liegt woanders … nicht zuletzt vielleicht auch im Entwurf: Listen auf diese Art zu manipulieren, ist nicht sonderlich effizient.

Verfasst: Donnerstag 21. Januar 2010, 22:27
von busfahrer
Hallo
bei mir unter Python 2.5 funktioniert das fehlerfrei.

Gruß...busfahrer

Verfasst: Freitag 22. Januar 2010, 00:40
von BlackJack
@Alak: Wenn Du Quelltext zeigst und behauptest der würde eine bestimmte Fehlermeldung ergeben, dann *teste* das doch bitte vorher auch. So kann man nur raten. Und ich rate mal, dass da keine Listen in der Liste sind, sondern `numpy.array`\s. Da bekommt man nämlich besagtes Problem was mit der Art zu tun hat, wie die ``==`` überladen.

Verfasst: Freitag 22. Januar 2010, 08:38
von jens