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

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! :D 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 :wink: 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 :wink: 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 :D
(Hoffe ich hab das jetz auhc richtig "zerglegt" :wink: )

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