J'essaie de créer une liste d'arguments que je reçois dans une URL.
Par exemple, j'ai: p> maintenant quand je le reçois dans la demande vient comme une chaîne. Je veux faire une liste de "0,1,2" [0,1,2] p> p>
7 Réponses :
aller de "0,1,2" à ['0', '1', "2 '] son juste Donc, si vous l'avez dans une variable Si vous en avez besoin en tant qu'OBT au lieu de cordes, ce serait " 0,1,2 ".split (", ") code> p>
utilisateurs code>, alors users.split (",") code> vous donnera la liste. p>
[int (x) pour x dans les utilisateurs.split (',')] code>. p>.
Pour convertir la chaîne en une liste, utilisez Pour convertir la liste des chaînes à une liste d'entiers, utilisez une compréhension de liste avec Alors, vous le mettant tous ensemble, il ressemble à quelque chose comme ceci: p> résultats: p> Split code>. int code>. p>
Je devine juste, car je n'ai pas utilisé le cadre, mais j'imagine que Django ne le ferait pas analyser l'ensemble de la ficelle de la requête lui-même, non?
Utilisez la méthode ou même, p> divisée code>. Exemple:
x=map(int,'0,1,2'.split(','))
Vous pouvez utiliser le code suivant:
s = 'user.com/?users=0,1,2'
s.rpartition('?users=')[2].split(',')
Cette question a été étiquetée à l'origine Django, donc je vais procéder à cela à l'esprit.
à l'intérieur de votre fonction de vue, la requête que Vous donnera une liste de chaînes ou une liste vide si les "utilisateurs" n'étaient pas fournis dans GET. Si vous vouliez une liste d'entiers, vous pouvez le traiter plus loin avec une compréhension de la liste: p> code> est un attribut GET qui est une instance d'un QueryDict . Si vous savez toujours que vous allez obtenir une liste des entiers séparés par des virgules pour la clé "utilisateurs", vous pouvez faire quelque chose comme celui-ci à la fonction de vue: p>
Vous avez Eval Pour convertir la chaîne en "code réel":
Exemple: P>
>>> l = u"[('0','None'),('2','Taxable Goods'),('4','Shipping')]"
>>> type(l)
<type 'unicode'>
>>> t = eval(l)
>>> type(t)
<type 'list'>
Il a définitivement demandé quelque chose d'autre!
enlevé la balise Django comme ce n'est pas vraiment une question de Django
Mais Django peut avoir un soutien pour analyse des URL pouvant être intéressants.