Seite 1 von 1

Fragestellen: wie kann man string to list machen??

Verfasst: Freitag 16. November 2007, 20:33
von bing4229
Hallo, Leute

ich möchte eine List aus eine String herstellen. Hier eine Abschnitt von mir. Aber es funktioniert nicht. Wie kann man das machen?

Danke schön für Aufmerksamkeit. Grüss


s = input("Bitte geben Sie eine Liste:")
s = str(List(s))
print s # bis hier kein Problem
n = list(s) #immer falsch,gibt es ein hilfliches Methode?
print n

Verfasst: Freitag 16. November 2007, 20:58
von BlackJack
Jain, es gibt eine unsaubere Methode. Warum willst Du das denn überhaupt machen?

Verfasst: Freitag 16. November 2007, 22:17
von mitsuhiko
Das einzige was du tun kannst ist einen Trenner anzugeben und dort zu trennen. Zb "foo,bar,baz".split(",")

Verfasst: Freitag 16. November 2007, 23:57
von Frank aka Ch3ck3r
Aus deinem Codeschnipsel kann ich entnehmen dass du einfach versuchst die Komplette eingabe (String) in einen einzigen Listeneintrag umzuwandeln

Code: Alles auswählen

# Variante 1
s = str(input("Bitte geben sie eine Liste: "))
l = [s] #Ergibt eine Liste mit s als ersten Eintrag

# Variante 2
s = str(input("Bitte geben sie eine Liste: "))
l = []
l.append(s) #Das selbe Ergebnis wie bei Variante 1
Wenn du jeden einzelnen Char (also jeden einzelnen Buchstabe oder Zahl) als eigenen Listeneintrag einzufügen folgende Variante

Code: Alles auswählen

s = str(input("Bitte geben sie eine Liste:"))
l = []
for char in s:
    l.append(char)

#Ergibt bei eingabe von 'Hallo'
# ['H','a','l','l','o']
Wenn du aber die Eingabe an unbestimmten - also erst von der Eingabe bestimmten stellen trennen musst nimm die Variante von BlackJack

Verfasst: Samstag 17. November 2007, 15:48
von bing4229
wow....unglaublich,
sehr nett von euch
danke schön für Antwort,
sehr klar ,verstanden :D

grazie^-^

Verfasst: Samstag 17. November 2007, 17:27
von CIB
Geht string.split("") auch? Jeden Char einzeln an eine Liste anzuhängen scheint mir bei längeren strings sehr aufwendig.

Verfasst: Samstag 17. November 2007, 17:30
von BlackJack
Nein das geht nicht. Lässt sich aber auch schnell ausprobieren. `list()` geht aber.

Code: Alles auswählen

In [54]: 'hallo'.split('')
---------------------------------------------------------------------------
<type 'exceptions.ValueError'>            Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

<type 'exceptions.ValueError'>: empty separator

In [55]: list('hallo')
Out[55]: ['h', 'a', 'l', 'l', 'o']