Konvertieren einer Zeichenfolge in eine Liste in Python

8

Ich versuche, eine Liste von Argumenten zu erstellen, die ich in einer URL erhalte.

z. B. habe ich:

%Vor%

Jetzt, wenn ich es in der Anfrage erhalte, kommt es als eine Zeichenkette. Ich möchte eine Liste von "0,1,2" [0,1,2]

machen     
Fahim Akhter 30.01.2010, 14:13
quelle

7 Antworten

31

Verwenden Sie die Methode split . Beispiel:

%Vor%

Oder sogar,

%Vor%     
Dietrich Epp 30.01.2010, 14:16
quelle
6

Diese Frage wurde ursprünglich mit Django getaggt, also werde ich im Sinn behalten.

Innerhalb Ihrer View-Funktion besitzt das request -Objekt ein GET-Attribut, das eine Instanz von QueryDict . Wenn Sie immer wissen, dass Sie eine durch Komma getrennte Liste von Ganzzahlen für den Schlüssel "Benutzer" erhalten, können Sie in Ihrer Ansichtsfunktion Folgendes tun:

%Vor%

Damit erhalten Sie eine Liste von Strings oder eine leere Liste, wenn "Benutzer" in GET nicht angegeben wurde. Wenn Sie eine Liste von ganzen Zahlen haben möchten, können Sie sie mit einem Listenverständnis weiterverarbeiten:

%Vor%     
Brian Neal 30.01.2010 18:33
quelle
3
%Vor%

ast.literal_eval ist wie eval , aber absolut sicher, da es die Zeichenfolge auf Literale wie Strings, Zahlen, Tupel, Listen, Dicts, Booleans und None beschränkt.

Eine weitere Alternative, die noch nicht erwähnt wurde, ist map :

%Vor%     
unutbu 30.01.2010 14:39
quelle
2

Um die Zeichenfolge in eine Liste zu konvertieren, verwenden Sie split .

Um die Liste der Strings in eine Liste von Ganzzahlen zu konvertieren, verwenden Sie ein Listenverständnis mit int .

Also sieht es so aus:

%Vor%

Ergebnisse:

%Vor%     
Mark Byers 30.01.2010 14:15
quelle
2

Um von "0,1,2" zu ['0', '1', '2'] zu gehen, ist es nur "0,1,2".split(",")

Wenn Sie also eine Variable in users haben, gibt users.split(",") Ihnen die Liste.

Wenn Sie sie als Ints anstelle von Strings benötigen, wäre es [int(x) for x in users.split(',')] .

    
danben 30.01.2010 14:15
quelle
0

Sie können folgenden Code verwenden:

%Vor%     
js29a 30.01.2010 16:04
quelle
-2

Sie müssen die Zeichenfolge in "echten Code" umwandeln:

Beispiel:

%Vor%     
raimonesteve 26.09.2012 07:21
quelle

Tags und Links