Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

itertool & fieldstorage

1 view
Skip to first unread message

Sysadmin

unread,
Nov 19, 2009, 12:29:48 PM11/19/09
to
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.

Alain BARTHE

unread,
Nov 19, 2009, 2:31:47 PM11/19/09
to
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&tel=007&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

unread,
Nov 20, 2009, 3:05:43 AM11/20/09
to
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&tel=007&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

unread,
Nov 20, 2009, 5:59:20 PM11/20/09
to
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&tel=007&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

Michel Claveau - MVP

unread,
Nov 21, 2009, 4:48:30 AM11/21/09
to
Bonjour !

Je ne vois pas de différence entre la solution d'
Alain Barthe et la tienne.

Suis-je devenu bigleux ?

@+
--
Michel Claveau

Alain BARTHE

unread,
Nov 21, 2009, 7:22:47 AM11/21/09
to
Michel Claveau - MVP a écrit :

> Bonjour !
>
> Je ne vois pas de différence entre la solution d'
> Alain Barthe et la tienne.
>
> Suis-je devenu bigleux ?
>
> @+

Personnellement, je préfère la mienne, mais c'est partial.

Michel Claveau - MVP

unread,
Nov 21, 2009, 10:47:24 AM11/21/09
to
Re !

>> Je ne vois pas de différence entre la solution d'Alain Barthe et la tienne.

> Personnellement, je préfère la mienne, mais c'est partial.

;-)

MCI

Bruno Desthuilliers

unread,
Nov 22, 2009, 9:46:05 AM11/22/09
to
Michel Claveau - MVP a écrit :
> Bonjour !
>
> Je ne vois pas de différence entre la solution d'
> Alain Barthe et la tienne.
>

Et pour cause, il n'y en a pas. J'ai juste omis de lire la réponse
d'Alain avant de répondre, mea culpa.

Sysadmin

unread,
Nov 25, 2009, 9:52:10 AM11/25/09
to cémoi
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&tel=007&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

danieldelay

unread,
Dec 14, 2009, 4:38:54 PM12/14/09
to
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&tel=007&login=python

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


urlencode([('nom','bob'),('prenom','moi'),('tel','007'),('login','python')])

0 new messages