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 :shock:

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 :D

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. :oops:
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