Partage
  • Partager sur Facebook
  • Partager sur Twitter

Addition des i de deux listes

    16 novembre 2014 à 13:25:58

    Novice de Python, je cherche un moyen de réussir à coder ce que je pourrais traduire par ceci:

    l=['1','2','3']

    m=['4','5','6']

    x=l+m=['5','7','9']

    J'espère que mon explication sera assez claire :-S

    Merci d'avance pour toute aide :-)

    • Partager sur Facebook
    • Partager sur Twitter
      16 novembre 2014 à 13:50:28

      x = []
      for elt1, elt2 in zip(l, m):
          x.append(elt + elt2)
      
      #ou bien
      x = [elt1 + elt2 for elt1, elt2 in zip(l, m)]

      Non testé mais en théorie ça devrait marcher.

      Par contre si tes listes contiennent des chaines de caractère comme sur ton exemple il faudra convertir les éléments en int avant de les additionner.
      • Partager sur Facebook
      • Partager sur Twitter
        16 novembre 2014 à 14:49:36

        Ou encore

        from operator import add
        l = [1, 2, 3]
        m = [4, 5, 6]
        x = map(add, l, m)
        

        -
        Edité par Dan737 16 novembre 2014 à 14:49:48

        • Partager sur Facebook
        • Partager sur Twitter
          16 novembre 2014 à 17:48:37

          Derzal, malheureusement tes deux solutions me donnent : x=[14,25,36]...

          Dan737, ta solution marche bien lorsque je mets exactement comme dans ton exemple.

          Mais lorsque je l'insère dans mon programme ça ne marche plus...:

          l=['a','b','c']

          m=[1,2,3]

          from operator import add

          for i in range(len(l)):

          • Partager sur Facebook
          • Partager sur Twitter
            16 novembre 2014 à 17:51:24

            oups.. voilà la suite :

              y1=ord(m[i])

              x=map(add(y1,c)) # ou bien add(y2,c) si on fait y2.append(y1)

            • Partager sur Facebook
            • Partager sur Twitter
              16 novembre 2014 à 19:31:14

              Ju';-D a écrit:

              Derzal, malheureusement tes deux solutions me donnent : x=[14,25,36]...


              C'est une blague?

              Derzal a écrit:

              Par contre si tes listes contiennent des chaines de caractère comme sur ton exemple il faudra convertir les éléments en int avant de les additionner.


              • Partager sur Facebook
              • Partager sur Twitter
                16 novembre 2014 à 19:55:00

                Oui je m'y suis remis depuis tout à l'heure et j'ai pu effectivement voir que mon problème était résolu par l'utilisation de int !

                Merci beaucoup pour votre aide !

                • Partager sur Facebook
                • Partager sur Twitter

                Addition des i de deux listes

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown