Annonce

Réduire
Aucune annonce.

Les séquences - COURS N°3

Réduire
Ceci est une discussion importante.
X
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel Les séquences - COURS N°3

    Bonjour,

    À savoir : Ce tutoriel risque d'être modifié, changé de place, voir même supprimé selon les décisions de l'équipe hackademics. Sa présence, est dû aux attentes des membres du forum participant au cours Python.

    Tout conseils, modifications à votre demande, sera envoyé par MP.

    HEIN, C'EST QUOI UNE SÉQUENCE?

    Souvent dans les tutoriels rencontrés sur le web, on remarque que l'on explique pas la raison, ni l'utilité d'utiliser les séquences, alors pourquoi on les utiliseraient?

    Une séquence est un gros conteneur, où l'on va ajouter autant d'objets que l'on souhaite.
    Mais pas seulement, on pourra aussi supprimer un/plusieurs objets, changer de place un objet...

    EUH OUI, MAIS C'EST QUOI UN OBJET?

    En effet c'est vaste comme explication, mais il faut savoir que tout est objet en python.
    Une chaîne de caractères, un entier, un décimal, un caractère, ... sont tous des objets.

    Pour cela un plan s'impose
    1. Les listes
    2. Les tuples
    3. Les dictionnaires
    4. Les autres
    5. Les opérations sur des conteneurs




    I) LES LISTES

    Une liste est un type de conteneur ayant l'avantage d'être mutable (modifiable). Ça permettra d'ajouter, supprimer, modifier l'emplacement des objets contenu dans cette liste...

    Une liste s'initialise de cette façon

    Code:
    ma_liste = ["a", "b"]
    ou

    Code:
    ma_liste = list()
    ou

    Code:
    ma_liste = []
    Les méthodes principales (le plus souvent utilisé) sont:
    • append
    • remove
    • pop
    • insert
    • ...


    Toutes ces méthodes sont expliquées sur la documentation officielle, ou sur des petits tutoriels comme certains wiki.

    II) LES TUPLES

    Un tuple est un conteneur immuable (non modifiable), son avantage est de traiter des ensembles comme des coordonnées à l'aide d'opérations indiquées dans la documentation officielle.

    Une tuple s'initialise de cette façon

    Code:
    mon_tuple = (x, y)
    ou

    Code:
    mon_tuple = tuple()
    ou

    Code:
    mon_tuple = ()
    Pour le traitement par ces opérations, on peut le faire aussi avec des listes, mais l'avantage du tuple est qu'il est fait pour cela et donc est plus efficace (traitement plus rapide).

    III) LES DICTIONNAIRES

    Le dictionnaire est le seul type associatif existant dans le langage.
    Il est mutable et comme la liste et le tuple est un conteneur ayant un nombre d'objets quelconque.

    Il permet la correspondance entre clé et valeur.

    On peut l'initialiser de beaucoup de manières,

    Code:
    mon_dico = {"AS": 11, "VALET": 20, ...: ...}
    ou

    Code:
    mon_dico = dict()
    ou

    Code:
    mon_dico = {}
    et d'autres, voir la documentation officielle

    Vous y verrez aussi les différentes méthodes existantes.

    IV) LES AUTRES

    D'autres conteneurs existent et sont moins utilisés. Néanmoins ils ont tous leur particularité.

    Les ensembles (permettent par exemple de supprimer des doublons)

    Je vous laisse découvrir les autres dans la documentation officielle

    V) LES OPÉRATIONS SUR LES SÉQUENCES
    a) Appartenance

    Permet de savoir si un objet appartient ou non à un conteneur

    exemple :
    Code:
     "a" in ("a", "b") # retourne True (vrai)
    "a" not in ("a", "b") # retourne False (faux)
    b) Concaténation

    Permet d'ajouter deux conteneurs liste entre eux

    exemple:
    Code:
     [12, 5, 9] + [2] # retourne [12, 5, 9, 2]
    c) Affectation

    Permet d'affecter à un endroit précis un objet dans un conteneur

    exemple:
    Code:
    liste = [12, 5, 9]
    liste[0] = 11
    print(liste) # retourne [11, 5, 9]

    et d'autres que vous pourrez découvrir en faisant des petits essais sur votre interpréteur

    EXERCICES


    1) Soit une liste dont les éléments sont 1, 2 et 3. On vous demande de modifier cette liste pour que les éléments dans la liste soient 2, 3, 3

    2) Créez un dictionnaire représentant pour les clés le nom des figurines d'un jeu de cartes (de la dame à l'as) et dont les valeurs seront des entiers représentant leur valeur dans un jeu de belote

    3) On sait que les éléments d'un tuple ne sont pas modifiables, pourtant je souhaiterais le faire. Proposer une solution permettant de modifier un tuple (par exemple (1, 2, 3)) pour que ce tuple devienne (2, 3, 3)

    Bonne journée,
    Dernière modification par fred, 05 avril 2013, 21h02.

  • #2
    Merci pour ce nouveau tutoriel.


    Code:
    # Exercice 1
    # Objectif changer la liste
    liste = [1,2,3]
    print (liste)
    liste1 =[2,3,3]
    liste = liste1
    print (liste)
    Code:
    # Exercice 2
    # Objectif créer un dictionnaire Belote
    belote = {"Dame": 3, "ROI":4, "10": 10, "AS": 11}
    Code:
    # Exercice 3
    # Objectif changer le Tuple, pas de méthode sur les Tuples, cependant on peut convertir une liste en tuple ou même l'assimiler.
    tuple = (1, 2, 3)
    liste = [2, 3, 3]
    tuple = liste


    PS: Tu aurais pu rajouter : La virgule est le constructeur du tuple, pas les parenthèses. Comme par exemple :

    >>> 1,
    (1,)
    Dernière modification par DreAmuS, 19 septembre 2015, 15h36.

    Commentaire


    • #3
      PS: Tu aurais pu rajouter : La virgule est le constructeur du tuple, pas les parenthèses
      L'interpréteur interprète cela comme un tuple, mais un tuple est considéré comme un ensemble d'objets et sa réponse (le tuple) est de la forme (objet1, objet2, ...)

      Commentaire


      • #4
        Merci de ta réponse.

        Commentaire


        • #5
          1 :

          Code:
          liste[0:2]=["2", "3"]
          2 :

          Code:
          dico_belote = {"Dame": 3, "Roi": 4, "Dix": 10, "As": 11}
          3 :

          Code:
          tuple_1 = tuple_1[:0] + ("2", "3") + tuple_1[2:]
          ---

          Question :

          >>> t = (1, 2, 3, 9, 7, 5, 8)

          Je veux que 't' renvoie '1 2 8 4 9 7 0', je teste :

          >>> t[:2] + (8,4) + t[3:4] + (0)

          Erreur. Pourquoi ?

          Pour moi le ':' signifie avant/après, ':2' = après l'objet en position 2, et '3:' après l'objet en position 3, pourquoi '4:6' ne signifie pas l'objet entre les positions 4 et 6 ?

          Du coup, si tu as 2-3 exos pour manipuler ce genre de chose, hésite pas.
          †vKs|

          Commentaire


          • #6
            Un tuple est un objet immutable, ce qui veut dire qu'on ne peut modifier ses éléments...

            Pour cela tu dois le transformer en objet list et faire ta modification, pour que par la suite, tu puisses retransformer en tuple.

            Dans l'exercice que tu veux faire, il n'y a pas d'intérêt de partir d'un objet tuple, autant utiliser sur l'objet list.

            Commentaire


            • #7
              Bonjour,

              Merci pour ce cours.

              Voici le code que j'ai essayé de faire.
              Merci pour vos critiques afin que je puisse m'améliorer.

              MAJ : Code Exo 3
              Code:
              #!/usr/bin/python3.5
              
              print ("**********Exercice 1**********")
              ma_liste = [1, 2, 3]
              print (ma_liste)
              ma_liste.remove(1)
              ma_liste.append(3)
              print (ma_liste)
              
              print ("**********Exercice 2**********")
              mon_dico = {"AS": 11, "10": 10, "ROI": 4, "DAME": 3}
              print (mon_dico)
              
              print ("**********Exercice 3**********")
              mon_tuple = (1, 2, 3)
              ma_liste = list (mon_tuple)
              print (ma_liste)
              ma_liste.remove(1)
              ma_liste.append(3)
              mon_tuple = ma_liste
              print (mon_tuple)
              Dernière modification par Back2back, 03 juin 2016, 14h07.

              Commentaire


              • #8
                Bonjour,
                Malheureusement, on ne peut éditer un message.
                J'ai supprimé pas mal d'espaces pour respecter les conventions Python.
                Voici le nouveau code.
                Désolé pour la place que cela prend :
                Code:
                #!/usr/bin/python3.5
                
                print("**********Exercice 1**********")
                ma_liste = [1, 2, 3]
                print(ma_liste)
                ma_liste.remove(1)
                ma_liste.append(3)
                print(ma_liste)
                
                print("**********Exercice 2**********")
                mon_dico = {"AS": 11, "10": 10, "ROI": 4, "DAME": 3}
                print(mon_dico)
                
                print("**********Exercice 3**********")
                mon_tuple = (1, 2, 3)
                ma_liste = list(mon_tuple)
                print(ma_liste)
                ma_liste.remove(1)
                ma_liste.append(3)
                mon_tuple = ma_liste
                print(mon_tuple)

                Commentaire

                Chargement...
                X