itertool & fieldstorage

Le
Sysadmin
Bonjour,

je découvre itertools et j'ai un peu de mal à l'utiliser.

il y a izip, imaps je suis un peu perdu.

Quelqu'un sait comment combiner une liste de tuples de la forme :
[('nom','bob'),('prenom','moi'),('tel','007'),('login','python')]

vers : nom=bob&prenom=moi&tel=007&login=python

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain BARTHE
Le #20590131
Sysadmin a écrit :
Bonjour,

je découvre itertools et j'ai un peu de mal à l'utiliser.

il y a izip, imaps ... je suis un peu perdu.

Quelqu'un sait comment combiner une liste de tuples de la forme :
[('nom','bob'),('prenom','moi'),('tel','007'),('login','python')]

vers : nom=bob&prenom=moi&tel7&login=python

Merci.



"&".join ("%s=%s" % t for t in liste_tuples)

Tu dois pouvoir utiliser imaps mais j'ai pas le temps de tester.
Bruno Desthuilliers
Le #20592791
Sysadmin a écrit :
Bonjour,

je découvre itertools et j'ai un peu de mal à l'utiliser.

il y a izip, imaps ... je suis un peu perdu.

Quelqu'un sait comment combiner une liste de tuples de la forme :
[('nom','bob'),('prenom','moi'),('tel','007'),('login','python')]

vers : nom=bob&prenom=moi&tel7&login=python



Pas besoin de itertools pour ça.

args = [('nom','bob'),('prenom','moi'),('tel','007'),('login','python')]
qs = "&".join("%s=%s" % arg for arg in args)

Attention par contre, tu a probablement intérêt à urlencoder tes arguments.
cémoi
Le #20598161
Sysadmin a écrit :
Bonjour,

je découvre itertools et j'ai un peu de mal à l'utiliser.

il y a izip, imaps ... je suis un peu perdu.

Quelqu'un sait comment combiner une liste de tuples de la forme :
[('nom','bob'),('prenom','moi'),('tel','007'),('login','python')]

vers : nom=bob&prenom=moi&tel7&login=python

Merci.



Si tu tiens absolument à utiliser imap, voilà un exemple fonctionnel:

ltup = [('nom','bob'),('prenom','moi'),('tel','007'),('login','python')]
'&'.join(imap('='.join, ltup))


Pour ma part je n'utilise izip, imap, ifilter, ... que lorsque j'ai
besoin de manipuler des quantités de données conséquentes.
Le reste du temps je préfère la solution de Bruno qui est plus intuitive.


Laurent
Sysadmin
Le #20630341
Et bien, merci à tous !

cémoi a écrit :
Sysadmin a écrit :
Bonjour,

je découvre itertools et j'ai un peu de mal à l'utiliser.

il y a izip, imaps ... je suis un peu perdu.

Quelqu'un sait comment combiner une liste de tuples de la forme :
[('nom','bob'),('prenom','moi'),('tel','007'),('login','python')]

vers : nom=bob&prenom=moi&tel7&login=python

Merci.



Si tu tiens absolument à utiliser imap, voilà un exemple fonctionne l:

ltup = [('nom','bob'),('prenom','moi'),('tel','007'),('login','python ')]
'&'.join(imap('='.join, ltup))


Pour ma part je n'utilise izip, imap, ifilter, ... que lorsque j'ai
besoin de manipuler des quantités de données conséquentes.
Le reste du temps je préfère la solution de Bruno qui est plus intu itive.


Laurent


danieldelay
Le #20770211
Sysadmin a écrit :
Quelqu'un sait comment combiner une liste de tuples de la forme :
[('nom','bob'),('prenom','moi'),('tel','007'),('login','python')]

vers : nom=bob&prenom=moi&tel7&login=python



from urllib import urlencode : c'est justement fait pour.


urlencode([('nom','bob'),('prenom','moi'),('tel','007'),('login','python')])
Publicité
Poster une réponse
Anonyme