wert ersetzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Schildi
User
Beiträge: 30
Registriert: Freitag 19. Mai 2006, 22:23
Kontaktdaten:

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
by: Schildi
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

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
Zuletzt geändert von CrackPod am Sonntag 16. Juli 2006, 19:51, insgesamt 1-mal geändert.
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']
Schildi
User
Beiträge: 30
Registriert: Freitag 19. Mai 2006, 22:23
Kontaktdaten:

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
by: Schildi
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

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: )
Schildi
User
Beiträge: 30
Registriert: Freitag 19. Mai 2006, 22:23
Kontaktdaten:

joa, ich hab mal ein bisschen gegoogelt nach chr und ord, also ich glaub ich versteh's^^ zumindest im ansatz... :lol:
by: Schildi
Antworten