Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > fr.comp.lang.python > #4238

Re: Panne de mémoire avec list et str

Message-ID <WX0SGXiQgNVkhxkqD2oEOKAPBws@jntp> (permalink)
Subject Re: Panne de mémoire avec list et str
References <vik35m$393an$1@dont-email.me> <pfku1pxUSo1PjY00UnMRmj9UrQo@jntp> <vikju4$3de5c$1@dont-email.me>
Newsgroups fr.comp.lang.python
Date 2024-12-02 21:28 +0000
Organization Nemoweb
From Python <jpierre.messager@gmail.com>

Show all headers | View raw


Le 02/12/2024 à 16:32, Dominique a écrit :
> Le 02/12/2024 à 12:16, Python a écrit :
> 
>>>>> l = [['2'], ['2'], ['6'], ['8'], ['9']]
>>>>> ''.join(x for x, in l)
>> '22689'
>> 
> 
> Je te remercie pour cette réponse qui allie simplicité et élégance. Je 
> me pose toute fois une question : pour quoi la virgule après le X du for de
> 
> res=''.join(x for x, in result)
> 
> Et si je le supprime, j'ai cette erreur :
> 
> sequence item 0: expected str instance, list found

C'est dans la logique du déballage de tuple, les expressions
de la forme [a,...] = collection (for se contente de répéter cette
affectation sur les retour de next(...)).

C'est la virgule qui fait un tuple, les parenthèses ne sont qu'une
décoration :

>>> (1,2,3)
(1, 2, 3)
>>> 1,2,3
(1, 2, 3)

Du coup en RHS il faut une virgule pour créer un tuple à un seul 
élément :

>>> a = (1)
>>> type(a)
<class 'int'>
>>> a
1
>>> a = 1,
>>> type(a)
<class 'tuple'>
>>> a
(1,)

En LHS c'est pareil :

>>> a
[1]
>>> a,b = [1, 2]
>>> a
1
>>> b
2
>>> a, = [1]
>>> a
1

Pour déballer une collection de deux éléments dans a et b on 
écrit a,b = ..., pour déballer l'unique élément d'une collection
on écrit a, = ...

Makes perfect sense :-)

Back to fr.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Panne de mémoire avec list et str Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-02 11:46 +0100
  Re: Panne de mémoire avec list et str Python <jpierre.messager@gmail.com> - 2024-12-02 11:16 +0000
    Re: Panne de mémoire avec list et str Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-02 16:32 +0100
      Re: Panne de mémoire avec list et str Python <jpierre.messager@gmail.com> - 2024-12-02 21:28 +0000
        Re: Panne de mémoire avec list et str Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-03 06:54 +0100
      Re: Panne de mémoire avec list et str Python <jpierre.messager@gmail.com> - 2024-12-02 22:17 +0000
        Re: Panne de mémoire avec list et str Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-03 06:55 +0100
    Re: Panne de mémoire avec list et str Olivier Miakinen <om+news@miakinen.net> - 2024-12-02 21:08 +0100
      Re: Panne de mémoire avec list et str Python <jpierre.messager@gmail.com> - 2024-12-02 21:35 +0000
      Re: Panne de mémoire avec list et str Python <jpierre.messager@gmail.com> - 2024-12-02 22:54 +0000
  Re: Panne de mémoire avec list et str Thierry P <olmia2b@gmail.com> - 2024-12-03 08:39 +0100
    Re: Panne de mémoire avec list et str Dominique <dominique.sextant@orange.fr.invalid> - 2024-12-03 09:44 +0100

csiph-web