Concatener chaine dans list
Résolu/Fermé
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
-
6 déc. 2012 à 12:58
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 15 déc. 2012 à 17:34
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 15 déc. 2012 à 17:34
A voir également:
- Concatener chaine dans list
- Chaine tnt gratuite sur mobile - Guide
- List disk - Guide
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
- Concatener deux cellules excel - Guide
- Directory list & print - Télécharger - Divers Utilitaires
5 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
9 déc. 2012 à 20:56
9 déc. 2012 à 20:56
personne ?
C'est impossible ?
C'est impossible ?
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
9 déc. 2012 à 23:15
9 déc. 2012 à 23:15
Bonsoir Char Snipeur,
Serait-ce quelque chose du genre :
Serait-ce quelque chose du genre :
zip(ch1,ch2) ?
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
13 déc. 2012 à 23:07
13 déc. 2012 à 23:07
Salut.
Chez moi ça donne :
En tout cas, merci de ta réponse, ça me laisse un peu d'espoir.
Chez moi ça donne :
>>> ch1=['ed','ert','edc'] >>> ch2=['AQ','B','C'] >>> zip(ch1,ch2) [('ed', 'AQ'), ('ert', 'B'), ('edc', 'C')]c'est pas trop mal, mais pas exactement ce que je cherche.
En tout cas, merci de ta réponse, ça me laisse un peu d'espoir.
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
14 déc. 2012 à 12:41
14 déc. 2012 à 12:41
Bonjour Char Snipeur,
Peut-être ok ?
Peut-être ok ?
L =[ch1+ch2 for ch1,ch2 in zip(ch1,ch2)] for elt in enumerate(L): print(elt)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
14 déc. 2012 à 19:59
14 déc. 2012 à 19:59
ch1=['ed','ert','edc']
ch2=['AQ','B','C']
print map(lambda (x,y): x+y, zip(ch1,ch2))
ch2=['AQ','B','C']
print map(lambda (x,y): x+y, zip(ch1,ch2))
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
14 déc. 2012 à 22:22
14 déc. 2012 à 22:22
nickel ! J'ai rien compris, mais ça fonctionne.
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
14 déc. 2012 à 22:40
14 déc. 2012 à 22:40
Ne fonctionne pas chez moi .. snif
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
Modifié par heyquem le 14/12/2012 à 23:28
Modifié par heyquem le 14/12/2012 à 23:28
Ce n'est pas compliqué.
map() est une fonction qui applique son premier argument sur tous les élements de son second argument.
Pour que ça marche, il faut évidemment que le premier argument soit une fonction.
Quant au second argument, ce peut être une séquence (liste, tuple....) ou un générateur.
Dans l'expression, la fonction c'est
Le lambda n'est pas le nom de la fonction, c'est le mot-clé qui permet de définir ce genre de fonction. C'est l'équivalent de def , il signale la définition d'une fonction.
La particularité d'une lambda-fonction est d'être définie "à la volée" ("on the fly"), c'est à dire que l'objet fonction créé n'est assigné à aucun identifiant, elle n'a pas de nom tel que l'identifiant jadditionne qui est le nom de la fonction de l'autre type que j'ai définie plus haut.
Les paramètres de la lambda-fonction sont définis entre le mot-clé lambda et le deux-point : ici c'est un tuple (x,y)
L'objet retourné par la lambda-fonction est indiqué après le deux-points :
Le code suivant produit le même résultat que celui avec la lambda-fonction:
En fait, l'objet de nom jadditionne et l'objet défini par la lambda-formule sont identiques. Mais dans le deuxième cas, il n'y a pas de nom assigné à l'objet.
map() est une fonction qui applique son premier argument sur tous les élements de son second argument.
Pour que ça marche, il faut évidemment que le premier argument soit une fonction.
Quant au second argument, ce peut être une séquence (liste, tuple....) ou un générateur.
Dans l'expression, la fonction c'est
lambda (x,y): x+yCe n'est pas une fonction définie comme les autres dans le genre:
def jadditionne(x,y): return x+ymais ce qu'on appelle une lambda fonction.
Le lambda n'est pas le nom de la fonction, c'est le mot-clé qui permet de définir ce genre de fonction. C'est l'équivalent de def , il signale la définition d'une fonction.
La particularité d'une lambda-fonction est d'être définie "à la volée" ("on the fly"), c'est à dire que l'objet fonction créé n'est assigné à aucun identifiant, elle n'a pas de nom tel que l'identifiant jadditionne qui est le nom de la fonction de l'autre type que j'ai définie plus haut.
Les paramètres de la lambda-fonction sont définis entre le mot-clé lambda et le deux-point : ici c'est un tuple (x,y)
L'objet retourné par la lambda-fonction est indiqué après le deux-points :
Le code suivant produit le même résultat que celui avec la lambda-fonction:
ch1=['ed','ert','edc'] ch2=['AQ','B','C'] def jadditionne((x,y)): return x+y print map(jadditionne, zip(ch1,ch2))
En fait, l'objet de nom jadditionne et l'objet défini par la lambda-formule sont identiques. Mais dans le deuxième cas, il n'y a pas de nom assigné à l'objet.
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
15 déc. 2012 à 09:52
15 déc. 2012 à 09:52
Bonjour heyquem,
Et surtout merci pour vos explications pointilleuses. Elles me permettent de mieux comprendre. Grâce à elles je sait maintenant comment construire une fonction ou une lambda fonction.
Le seul hic est que le mot clef "map()" fâche mon compilateur (version 3.3) à tel point que la 'message box' me signale un erreur de syntaxe qui est une erreur critique évidemment.
Si non, encore milles merci pour toutes ces précisions.
Heliotte.
Et surtout merci pour vos explications pointilleuses. Elles me permettent de mieux comprendre. Grâce à elles je sait maintenant comment construire une fonction ou une lambda fonction.
Le seul hic est que le mot clef "map()" fâche mon compilateur (version 3.3) à tel point que la 'message box' me signale un erreur de syntaxe qui est une erreur critique évidemment.
Si non, encore milles merci pour toutes ces précisions.
Heliotte.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
15 déc. 2012 à 17:34
15 déc. 2012 à 17:34
oui, merci de l'explication.
Modifié par Heliotte le 9/12/2012 à 22:58
edit:
j'ai vu le post seulement ce soir .. et n'étant pas programmeur Python, je n'arrive pas à trouver, mais je cherche encore
Alors patience avant de montrer le résultat. Merci