listes et Python
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

listes et Python



  1. #1
    jacknicklaus

    listes et Python


    ------

    Bonjour,

    En python :
    soient deux listes LN et LP, de même taille, contenant des entiers. Et une fonction F(n,p) prenant 2 entiers en entrée et rendant un autre entier en retour. Quelles sont les différentes méthodes, du moins les plus rapides, pour obtenir une liste LR contenant tous les F(n,p) pour tous les n et p de même rang dans LN et LP ?

    Par exemple si F(n,p) est l'addition de n et p, et LN = [1,5,7] et LP = [4,2,2], on veut LR=[5,7,9].


    Dans certains langages il suffit de faire agir un foncteur sur le triplet (F,LN,LP) pour construire la liste résultat, sans jamais avoir besoin de manipuler les différents objets LN[i] ou LP[i] un par un dans une boucle. Est-ce que ca existe aussi en Python ?

    merci.

    -----
    Dernière modification par jacknicklaus ; 18/03/2018 à 16h21.
    There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy.

  2. #2
    pm42

    Re : listes et Python

    En relativement générique :

    Code:
    list(map(lambda x: F(x[O], x[1]), zip(LN, LP))
    Mais tu as plus court si tu veux juste passer tes 2 arguments :

    Code:
    list(map(f, LN, LP)
    Dernière modification par pm42 ; 18/03/2018 à 16h33.

  3. #3
    jacknicklaus

    Re : listes et Python

    merci pour ta réponse. Effectivement map() est pile ce que je cherche. Je regarde ca de suite.

    Et pour obtenir une application d'une fonction F(n,p) de 2 arguments, sur tous les éléments d'une seule liste ?
    On veut le résultat de F(L[1],F(L[2],F(.... ))))

    par exemple si F(n,p) = n+p, et L=[5,7,1,3,6]
    on veut simplement la somme 5+7+1+3+6
    ?
    There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy.

  4. #4
    pm42

    Re : listes et Python

    Code:
    from functools import reduce
    reduce(F, L, 0)
    Regarde la doc. 0 dans le cas d'une addition va fournir la valeur initiale mais il n'est pas obligatoire.
    Bienvenu dans le monde du map/reduce

  5. A voir en vidéo sur Futura
  6. #5
    jacknicklaus

    Re : listes et Python

    géniales ces fonctions. Ca a un un délicieux petit-gout d'APL. Je sens que je vais adorer.
    (je débute en Python ... aujourd'hui même !)
    There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy.

  7. #6
    CM63

    Re : listes et Python

    Et pour cause: Python quand on n'aime pas, c'est qu'on connaît pas

Discussions similaires

  1. Python Listes
    Par acdcc93 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 31/10/2016, 23h18
  2. python 2 : boucles et listes
    Par verypette dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 22/04/2016, 10h49
  3. en python le multi tache n'est pas possible alors pourquoi les threads existent sur python?
    Par docEmmettBrown dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 10/06/2015, 15h47
  4. Python: liste de listes
    Par BienZen dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 14/09/2014, 10h59
  5. python : listes et chaînes
    Par FreakyFlow dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 09/09/2014, 22h10