Seite 1 von 1
array aufruf problem
Verfasst: Mittwoch 21. Januar 2009, 18:04
von dannemann
hi leute,
am besten geb ich euch mal den code:
dx=self.mt[obj-1][self.wp[obj-1]-1][0]-self.pos[obj-1][0]
als fehler gibts mir dann immer:
#TypeError: unsupported operand type(s) for -: 'list' and 'int'# aus
ich kom einfach nicht dahinter
hoffe mir kann jemand helfen
danke,
danne
Verfasst: Mittwoch 21. Januar 2009, 18:07
von derdon
Du versuchst an einer Liste den Operanden - (Minus) anzuwenden. Man kann von einer Liste aber keine Zahl abziehen (Wie sollte das auch funktionieren?). Vielleicht hilft als Erklärung dieser Schnipsel:
Code: Alles auswählen
In [8]: my_list = ['apples', 23, 'bananas', 42]
In [9]: my_list - 12
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home/derdon/Python/test/frog/<ipython console> in <module>()
TypeError: unsupported operand type(s) for -: 'list' and 'int'
Edit: Achte auf die eckigen Klammern (slicing). Hoffentlich sehen nicht alle Zeilen deines Programms so aus
Verfasst: Mittwoch 21. Januar 2009, 18:08
von Hyperion
Du subtrahierst ein Integer von einer Liste! Irgend wo muss also in den ganzen Konstrukten statt eines Wertes noch eine Liste verborgen sein!
Verfasst: Mittwoch 21. Januar 2009, 18:17
von dannemann
ok danke
hab verstanden aber trotzdem noch probleme:
wie könnte ich das anders lösen?
Verfasst: Mittwoch 21. Januar 2009, 18:26
von dannemann
ohhh mann
tut mir unendlich leid.
jetzt weis ich was gemeint war.
so ein doffer fehler
Vielen vielen dank für eure hilfe habs jetzt endlich kapiert
danne
Verfasst: Mittwoch 21. Januar 2009, 18:36
von CM
Hoi,
Das Code-Schnipsel ist - sorry - ziemlich nichtssagend. Aber wenn Du tatsächlich Skalaroperationen auf ganze arrays anwenden willst, hilft Dir
numpy weiter. Damit ist das sicher sehr einfach und schnell.
Gruß,
Christian