Einzelne Ziffern in Listen

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.
nightm4r3^
User
Beiträge: 83
Registriert: Montag 11. Februar 2008, 15:43
Kontaktdaten:

Samstag 16. Februar 2008, 10:20

Hallo an alle die mir helfen können^^
Ich habe das Problem, das ich gern eine lange Zahlenfolge (Kontonummer, etc...) als einzelne Ziffer in eine Liste geben würde. Will heißen:

Nummer: 623464357
Liste:[6,2,3,4,6,4,3,5,7]

Also genau die Zahl halt nur in einer Liste mit den einzelnen Ziffern.
Und bevor ich wieder von diversen Personen aufs Korn genommen werde:
Google bietet (was ich gefunden hab) nur Lösungen das er die einzelnen Zahlen in der richtigen mathematischen Reihenfolge ausgibt und alle nur einmal (also bei dem Beispiel oben [2,3,4,5,6,7]). Das ging mit dem befehl set().

Falls jemand Abhilfe weiß das wär toll.
BlackJack

Samstag 16. Februar 2008, 10:25

Das einfachste dürfte der Umweg über eine Zeichenkette sein, also 1) in Zeichenkette umwandeln, 2) Zeichenkette in Liste mit Zeichen/Ziffern, und 3) die Ziffern wieder in Zahlen umwandeln.

(Ich verschieb's mal nach "Allgemein", da kein Tkinter in Sicht.)
nightm4r3^
User
Beiträge: 83
Registriert: Montag 11. Februar 2008, 15:43
Kontaktdaten:

Samstag 16. Februar 2008, 10:27

ja entschuldigung ich habs falsch gepostet, mein Fehler.

also ganz einfach so?

Code: Alles auswählen

b=input('Zahl: ')
b=str(a)
c=frozenset(b)
print c
also bei dem frozenset bin ich mir nicht sicher....weiß nicht wie man es sonst in eine Liste bekommt.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 16. Februar 2008, 10:29

Kürzeste Lösung:

Code: Alles auswählen

[int(num) for num in str(623464357)]
Gibt aber noch diverse andere Möglichkeiten.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
nightm4r3^
User
Beiträge: 83
Registriert: Montag 11. Februar 2008, 15:43
Kontaktdaten:

Samstag 16. Februar 2008, 10:32

Für was steht denn das "num"?
Ich verstehe deine Lösung nämlich nicht so richtig Leonidas.
BlackJack

Samstag 16. Februar 2008, 10:32

Vor allem gibt's 'ne kürzere (in Zeichen) Lösung:

Code: Alles auswählen

map(int, str(623464357))
:-)
nightm4r3^
User
Beiträge: 83
Registriert: Montag 11. Februar 2008, 15:43
Kontaktdaten:

Samstag 16. Februar 2008, 10:34

Vielen Dank Black Jack mit deiner Lösung hats funktioniert. Und so schön kurz :D .


Vielen Dank auch an Leonidas deine Lösung war sicherlich auch richtig^^
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 16. Februar 2008, 10:36

nightm4r3^ hat geschrieben:Für was steht denn das "num"?
Ich verstehe deine Lösung nämlich nicht so richtig Leonidas.
Dann lerne List Comprehensions zu verstehen. Dazu gibt es viel Dokumentation.

Aber sag mal: die LC-Lösung verstehst du nicht, aber du kannst erklären was ``map()`` macht?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
nightm4r3^
User
Beiträge: 83
Registriert: Montag 11. Februar 2008, 15:43
Kontaktdaten:

Samstag 16. Februar 2008, 10:37

Ja^^ aber wenn du genaueres wissen willst musst du meinen Informatik Lehrer fragen :wink: .
Deine Lösung hab ich jetzt aber auch verstanden nachdem mir Black Jack seine geschrieben hatte. So Geistesblitzartig^^
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 16. Februar 2008, 10:39

nightm4r3^ hat geschrieben:Ja^^ aber wenn du genaueres wissen willst musst du meinen Informatik Lehrer fragen :wink: .
Ähm.. mir ist schon klar was ``map()`` macht, nur meine Frage war, ob du es deinem Lehrer erklären kannst, was Funktionen machen die ihr noch nicht durchgenommen habt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
nightm4r3^
User
Beiträge: 83
Registriert: Montag 11. Februar 2008, 15:43
Kontaktdaten:

Samstag 16. Februar 2008, 10:42

Ich meinte damit auch nicht das du meinem Lehrer Fragen sollst was ''map()'' bedeutet sondern ihn nur fragen, warum er mit uns diese funktion schon gemacht hat, aber ich trotzdem net weiß was deine Lösung bedeutet
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 16. Februar 2008, 10:45

nightm4r3^ hat geschrieben:aber ich trotzdem net weiß was deine Lösung bedeutet
Wenn du im Internet nach "List Comprehension" suchen würdest, wäre das schnell geklärt *hint*.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
nightm4r3^
User
Beiträge: 83
Registriert: Montag 11. Februar 2008, 15:43
Kontaktdaten:

Samstag 16. Februar 2008, 10:47

Ja okay mach ich bei gelegenheit mal.
Nur momentan häng ich an nem Prüfziffernrechner und das wird mich noch einige Zeit in anspruch nehmen aber danach werd ichs mir mal anschauen.
Gnushi
User
Beiträge: 77
Registriert: Dienstag 12. Dezember 2006, 09:49

Samstag 16. Februar 2008, 10:51

Hi!
nightm4r3^ hat geschrieben: Nummer: 623464357
Liste:[6,2,3,4,6,4,3,5,7]
Also genau die Zahl halt nur in einer Liste mit den einzelnen Ziffern.
Die hier vorgestellten Lösungen sind Kurzschreibweisen für:

Code: Alles auswählen

liste = []
for zeichen in "623464357":
    liste.append(int(zeichen))
print liste
Vielleicht hilft es.

GnuShi
nightm4r3^
User
Beiträge: 83
Registriert: Montag 11. Februar 2008, 15:43
Kontaktdaten:

Samstag 16. Februar 2008, 10:53

Vielleicht hilft es.

Ja wie schon gesagt bin auch noch selber darauf gekommen. Trotzdem Danke GnuShi
Antworten