Je dispose d'une fonction retournant une liste (ou d'un tuple si
nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers
de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs
et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction()
numero = liste [0]
date = liste [1]
fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds
peut-être avec un autre langage.
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et fichiers avec les valeurs 3 à n.
En Python 3.0+, on peut faire :
numero, date, *fichiers = ma_fonction()
Joli, c'est un truc comme ça que je cherchais, mais je suis toujours sous Python 2.x... Dommage.
Merci.
Pierre Maurette
Alain BARTHE, le 6/16/2011 a écrit :
Bonjour,
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction() numero = liste [0] date = liste [1] fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire)
composé d'un numéro, d'une date et d'une liste de fichiers de taille
variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et
fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction()
numero = liste [0]
date = liste [1]
fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds peut-être
avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction() numero = liste [0] date = liste [1] fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Pas en python 2.x.
Ce n'est pas possible de modifier la fonction pour qu'elle retourne un vrai tuple ? C'est-à-dire (n,d,[f,...]) plutôt que [n,d,f,...]
Si bien sur, c'est moi qui gère la fonction dans ce cas précis
C'est plutôt un problème "existentiel" que réellement bloquant.
Il me semblait juste avoir déjà utilisé un truc comme :
v1, v2, reste = [ 1, 2, 3, 4, 5, 6 ]
Avec : v1 <= 1 v2 <= 2 reste <= [3,4,5,6]
Peut-être que je me trompe et que j'avais fait ca en shell Unix avec read par exemple.
Je dispose d'une fonction retournant une liste (ou d'un tuple si
nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers
de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Pas en python 2.x.
Ce n'est pas possible de modifier la fonction pour qu'elle retourne un
vrai tuple ? C'est-à-dire (n,d,[f,...]) plutôt que [n,d,f,...]
Si bien sur, c'est moi qui gère la fonction dans ce cas précis
C'est plutôt un problème "existentiel" que réellement bloquant.
Il me semblait juste avoir déjà utilisé un truc comme :
v1, v2, reste = [ 1, 2, 3, 4, 5, 6 ]
Avec :
v1 <= 1
v2 <= 2
reste <= [3,4,5,6]
Peut-être que je me trompe et que j'avais fait ca en shell Unix avec
read par exemple.
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Pas en python 2.x.
Ce n'est pas possible de modifier la fonction pour qu'elle retourne un vrai tuple ? C'est-à-dire (n,d,[f,...]) plutôt que [n,d,f,...]
Si bien sur, c'est moi qui gère la fonction dans ce cas précis
C'est plutôt un problème "existentiel" que réellement bloquant.
Il me semblait juste avoir déjà utilisé un truc comme :
v1, v2, reste = [ 1, 2, 3, 4, 5, 6 ]
Avec : v1 <= 1 v2 <= 2 reste <= [3,4,5,6]
Peut-être que je me trompe et que j'avais fait ca en shell Unix avec read par exemple.
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction() numero = liste [0] date = liste [1] fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
j'aurais du donner un exemple. Dans ma question la fonction retourne une liste "à plat"
Je voulais faire par exemple :
a,b,c = [ 1, 2, 3, 4 ,5, 6]
et affecter : a = 1 b = 2 c = [3,4,5,6]
Je croyais avoir déjà fait un truc du genre mais je m'étais surement trompe.
Je dispose d'une fonction retournant une liste (ou d'un tuple si
nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers
de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres
valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction()
numero = liste [0]
date = liste [1]
fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds
peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
j'aurais du donner un exemple. Dans ma question la fonction retourne une
liste "à plat"
Je voulais faire par exemple :
a,b,c = [ 1, 2, 3, 4 ,5, 6]
et affecter :
a = 1
b = 2
c = [3,4,5,6]
Je croyais avoir déjà fait un truc du genre mais je m'étais surement trompe.
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction() numero = liste [0] date = liste [1] fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
j'aurais du donner un exemple. Dans ma question la fonction retourne une liste "à plat"
Je voulais faire par exemple :
a,b,c = [ 1, 2, 3, 4 ,5, 6]
et affecter : a = 1 b = 2 c = [3,4,5,6]
Je croyais avoir déjà fait un truc du genre mais je m'étais surement trompe.
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction() numero = liste [0] date = liste [1] fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
j'aurais du donner un exemple. Dans ma question la fonction retourne une liste "à plat"
Je voulais faire par exemple :
a,b,c = [ 1, 2, 3, 4 ,5, 6]
et affecter : a = 1 b = 2 c = [3,4,5,6]
Je croyais avoir déjà fait un truc du genre mais je m'étais surement trompe.
Je me doutais bien que je passais à coté d'un truc. Surtout sachant qui avait posé la question. ;-) Ce qui me troublait, c'était le "(ou d'un tuple si nécessaire)" qui indiquait que vous êtiez maître de la fonction. Maintenant j'ai lu plus bas qu'il s'agissait avant tout /de ne pas mourir idiot/ !
-- Pierre Maurette
Alain BARTHE, le 6/17/2011 a écrit :
Le 17/06/2011 09:25, Pierre Maurette a écrit :
Alain BARTHE, le 6/16/2011 a écrit :
Bonjour,
Je dispose d'une fonction retournant une liste (ou d'un tuple si
nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers
de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres
valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction()
numero = liste [0]
date = liste [1]
fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds
peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
j'aurais du donner un exemple. Dans ma question la fonction retourne une
liste "à plat"
Je voulais faire par exemple :
a,b,c = [ 1, 2, 3, 4 ,5, 6]
et affecter :
a = 1
b = 2
c = [3,4,5,6]
Je croyais avoir déjà fait un truc du genre mais je m'étais surement trompe.
Je me doutais bien que je passais à coté d'un truc. Surtout sachant qui
avait posé la question. ;-)
Ce qui me troublait, c'était le "(ou d'un tuple si nécessaire)" qui
indiquait que vous êtiez maître de la fonction. Maintenant j'ai lu plus
bas qu'il s'agissait avant tout /de ne pas mourir idiot/ !
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction() numero = liste [0] date = liste [1] fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
j'aurais du donner un exemple. Dans ma question la fonction retourne une liste "à plat"
Je voulais faire par exemple :
a,b,c = [ 1, 2, 3, 4 ,5, 6]
et affecter : a = 1 b = 2 c = [3,4,5,6]
Je croyais avoir déjà fait un truc du genre mais je m'étais surement trompe.
Je me doutais bien que je passais à coté d'un truc. Surtout sachant qui avait posé la question. ;-) Ce qui me troublait, c'était le "(ou d'un tuple si nécessaire)" qui indiquait que vous êtiez maître de la fonction. Maintenant j'ai lu plus bas qu'il s'agissait avant tout /de ne pas mourir idiot/ !
-- Pierre Maurette
Alain BARTHE
Le 17/06/2011 13:16, Pierre Maurette a écrit :
Alain BARTHE, le 6/17/2011 a écrit :
Le 17/06/2011 09:25, Pierre Maurette a écrit :
Alain BARTHE, le 6/16/2011 a écrit :
Bonjour,
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction() numero = liste [0] date = liste [1] fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
j'aurais du donner un exemple. Dans ma question la fonction retourne une liste "à plat"
Je voulais faire par exemple :
a,b,c = [ 1, 2, 3, 4 ,5, 6]
et affecter : a = 1 b = 2 c = [3,4,5,6]
Je croyais avoir déjà fait un truc du genre mais je m'étais surement trompe.
Je me doutais bien que je passais à coté d'un truc. Surtout sachant qui avait posé la question. ;-)
J'ai si mauvaise réputation ?
Ce qui me troublait, c'était le "(ou d'un tuple si nécessaire)" qui indiquait que vous êtiez maître de la fonction. Maintenant j'ai lu plus bas qu'il s'agissait avant tout /de ne pas mourir idiot/ !
Le 17/06/2011 13:16, Pierre Maurette a écrit :
Alain BARTHE, le 6/17/2011 a écrit :
Le 17/06/2011 09:25, Pierre Maurette a écrit :
Alain BARTHE, le 6/16/2011 a écrit :
Bonjour,
Je dispose d'une fonction retournant une liste (ou d'un tuple si
nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers
de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres
valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction()
numero = liste [0]
date = liste [1]
fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds
peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
j'aurais du donner un exemple. Dans ma question la fonction retourne
une liste "à plat"
Je voulais faire par exemple :
a,b,c = [ 1, 2, 3, 4 ,5, 6]
et affecter :
a = 1
b = 2
c = [3,4,5,6]
Je croyais avoir déjà fait un truc du genre mais je m'étais surement
trompe.
Je me doutais bien que je passais à coté d'un truc. Surtout sachant qui
avait posé la question. ;-)
J'ai si mauvaise réputation ?
Ce qui me troublait, c'était le "(ou d'un tuple si nécessaire)" qui
indiquait que vous êtiez maître de la fonction. Maintenant j'ai lu plus
bas qu'il s'agissait avant tout /de ne pas mourir idiot/ !
Je dispose d'une fonction retournant une liste (ou d'un tuple si nécessaire) composé d'un numéro, d'une date et d'une liste de fichiers de taille variable.
Je pensais pouvoir écrire :
numero, date, fichiers, = ma_fonction()
Je croyais pouvoir affecter numero et date avec les 2 premieres valeurs et fichiers avec les valeurs 3 à n.
Mais je tombe sur l'exception : ValueError: too many values to unpack
Je peux bien sur écrire :
liste = ma_fonction() numero = liste [0] date = liste [1] fichiers = liste [2:]
Mais, j'aurais aimé faire ça en une ligne. Est-ce possible ?
Il me semblait avoir déjà fait un truc du genre, mais je confonds peut-être avec un autre langage.
J'ai du mal à comprendre votre problème. En faisant tourner:
j'aurais du donner un exemple. Dans ma question la fonction retourne une liste "à plat"
Je voulais faire par exemple :
a,b,c = [ 1, 2, 3, 4 ,5, 6]
et affecter : a = 1 b = 2 c = [3,4,5,6]
Je croyais avoir déjà fait un truc du genre mais je m'étais surement trompe.
Je me doutais bien que je passais à coté d'un truc. Surtout sachant qui avait posé la question. ;-)
J'ai si mauvaise réputation ?
Ce qui me troublait, c'était le "(ou d'un tuple si nécessaire)" qui indiquait que vous êtiez maître de la fonction. Maintenant j'ai lu plus bas qu'il s'agissait avant tout /de ne pas mourir idiot/ !