Seite 1 von 1
wert ersetzen
Verfasst: Sonntag 16. Juli 2006, 18:51
von Schildi
hallo leute!
ich steh grad en bisschen aufm schlauch glaub ich. wie kann man nochmal einen wert ersetzen?
ungefähr so dachte ich:
Code: Alles auswählen
liste = [1, 2, 3, 2, 1]
ersetze alle 1en durch "a", 2en durch "b" und 3en durch "c"
print liste
# Ergebnis: [a, b, c, b, a]
ich bin mir ziemlich sicher, dass ich das vor nicht allzu langer zeit hier im forum gesehn habe, aber auch längeres suchen hat nichts gebracht...
danke im voraus, schildi
Verfasst: Sonntag 16. Juli 2006, 19:50
von CrackPod
Code: Alles auswählen
liste = [1,2,3,2,1]
i = 0
for val in liste:
if val == 1:
liste[i] = 'a'
if val == 2:
liste[i] = 'b'
if val == 3:
liste[i] = 'c'
i = i+1
Ich denke, es geht noch einfacher, aber das is jetz mal so das beste, was mir eingefallen ist
Keine Garantie auf Richtigkeit - nicht getestet
Greetz
Verfasst: Sonntag 16. Juli 2006, 19:51
von BlackJack
Zahlen und Zeichen kann man mit `ord()` und `chr()` umwandeln.
Code: Alles auswählen
In [37]: liste = [1, 2, 3, 2, 1]
In [38]: [chr(x + ord('a') - 1) for x in liste]
Out[38]: ['a', 'b', 'c', 'b', 'a']
Verfasst: Sonntag 16. Juli 2006, 20:55
von Schildi
hey, danke leute.
@crackpod: erstmal: es klappt!
so was ähnliches hatte ich auch schon bei mir getestet, nur ist das halt sehr aufwändig, wenn man nicht nur 1, 2, 3 hat sondern mehr zahlen
trotzdem danke!!
@blackjack: sieht in meinen augen sehr kompliziert aus, aber macht auf jeden fall, dass was es soll. danke!!
dann hat sich mein prob hiermit wohl gelöst^^
mfg schildi
Verfasst: Sonntag 16. Juli 2006, 22:56
von CrackPod
Ich bin zwar nich so ein Freak wie BlackJack
und komm auf so kurze und gute Sachen, aber ich kanns dir Erklären(hoff ich)
Der Code ist die verkürzte Version von:
Code: Alles auswählen
neueListe = []
for x in liste:
zahl = x + ord('a') - 1
neueListe.append(chr(zahl))
Wenn du das nich versteht, frag
Hab auch lang gebraucht
(Hoffe ich hab das jetz auhc richtig "zerglegt"
)
Verfasst: Sonntag 16. Juli 2006, 23:29
von Schildi
joa, ich hab mal ein bisschen gegoogelt nach chr und ord, also ich glaub ich versteh's^^ zumindest im ansatz...