Seite 1 von 1

Tupel selbst definieren

Verfasst: Montag 5. Januar 2009, 16:03
von gugugs
Ich habe folgendes vor, ich möchte einen String in ord umwandeln, das hatte ich nun so vor gehabt:

Code: Alles auswählen

string="hallo du da"
zahl=len(string)
i=0
while i!=zahl:
	result[i]=ord(string[i])
	i=i+1

print result
Aber warum geht das so nicht, kann mein Vorhaben überhaupt in der Art mit einer Tupel funktionieren, oder bin ich da auf dem ganz falschen Weg?

In PHP wäre das so gegangen^^

Bitte um Hilfe, auch wenn es am Ende ganz anders aussieht.

Danke

Verfasst: Montag 5. Januar 2009, 16:08
von __marcus__

Code: Alles auswählen

y = [ord(x) for x in "hallo du da"]
Meinst Du sowas?

Verfasst: Montag 5. Januar 2009, 16:09
von audax

Code: Alles auswählen

map(ord, "mein string")
oder

Code: Alles auswählen

[ord(char) for char in "mein string"]
Mal dein Code gefixt:

Code: Alles auswählen

string="hallo du da"
result = []
for char in string
    result.append(ord(char))

print result

Verfasst: Montag 5. Januar 2009, 16:13
von gkuhl
Außerdem sind Tupel immutable.

Verfasst: Montag 5. Januar 2009, 16:16
von gugugs
Das ging aber schnell, echt super

Re: Tupel selbst definieren

Verfasst: Montag 5. Januar 2009, 17:22
von Leonidas
gugugs hat geschrieben:In PHP wäre das so gegangen^^
Selbst in PHP wäre der Code hässlich, denn es ist ein typisches Anwendungsgebiet von for-Schleifen (also Schleifen mit einer bekannten Anzahl Wiederholungen), while-Schleifen nimmt man dann her, wenn man die Anzahl der Wiederholungen nicht im Vorraus kennt.