Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # En python tu as 3 types de tableau.
- # Les listes (list), les dictionnaires (dict) et les tuples(tuple)
- # A coter tu as des classes qui héritent de ces types pour apporter des modifs/spéfications mais je ne rentrerais pas dans les détails
- # les listes
- # sont des tableau basique, sans clé associative
- # les listes reste ordonnés par rapport à son index.
- # https://docs.python.org/3/tutorial/datastructures.html#more-on-lists
- # création
- ma_list = ["je", "suis", "super"]
- # qui peut aussi s'écrire
- ma_list = list(["je", "suis", "super"])
- # ou alors une liste vide
- ma_list_vide = []
- # s'écris aussi
- ma_list_vide = list()
- # si je souhaite accéder à "je"
- ma_list[0]
- # ou bien super
- ma_list[2]
- # si je veux modifier la valeur d'une des clés
- ma_list[2] = "trop"
- # Grosso modo tu n'as pas d'association autre que numéraire (son index)
- # on peut aussi utiliser les méthodes de la class list (cf: lien de la doc)
- # example avec append, qui permet d'ajouter une entrée à la fin de la liste
- ma_list.append("fort")
- # ma_list sera maintenant ["je", "suis", "trop", "fort"]
- # si tu souhaites parcourir le tableau
- for entry in ma_list:
- print(entry)
- # affichera:
- # je
- # suis
- # trop
- # fort
- # les tuples
- # je ne vais pas rentrer dans les détails des tuples, qui repprend le même concept à l'exception (importante) qu'elle ne sont pas modifiable,
- # leurs intérêts est limité bien que pas inintéressante
- # création
- mon_tuple = ("je", "suis", "super")
- # ou
- mon_tuple = tuple(("je", "suis", "super"))
- # vide
- mon_tuple_vide = ()
- mon_tuple_vide = tuple()
- # les dictionnaires
- # au contraire des listes, sont des tableaux avec des clés associatives.
- # les dictionnaires ne sont pas du tout ordonnés (aucun critaire ne permet de le faire de base, ce n'est pas fait pour)
- # https://docs.python.org/3/library/stdtypes.html#mapping-types-dict
- # création
- mon_dict = {"qui": "je", "verbe": "suis", "reste": "trop fort"}
- # qui aurait aussi pu être (les deux se valent)
- mon_dict = dict({"qui": "je", "verbe": "suis", "reste": "trop fort"})
- mon_dict = dict(qui="je", verbe="suis", reste="trop fort")
- # pour une création vide
- mon_dict_vide = {}
- mon_dict_vide = dict()
- # si je souhaite accéder à je
- mon_dict["qui"]
- # ou trop fort
- mon_dict["reste"]
- # si tu veux modifier la valeur d'une des clés
- mon_dict["qui"] = "tu"
- mon_dict["verbe"] = "es"
- # si tu souhaites ajouter des valeurs (j'utilise ici une méthode de la classe, cf la doc)
- mon_dict.update({"bonus": "de la mort qui tue"})
- # mon_dict vaudra maintenant: {"qui": "je", "verbe": "suis", "reste": "trop fort", "bonus": "de la mort qui tue"}
- # .update peut s'utiliser aussi de cette façon, pour ajouter/modifier des valeurs
- mon_dict.update({"qui": "vous", "verbe": "êtes", "encore": "mais pas tant que ça"})
- # et là mon_dict vaudra maintenant: {"qui": "vous", "verbe": "êtes", "reste": "trop fort", "bonus": "de la mort qui tue", "encore": "mais pas tant que ça"}
- # si tu souhaites parcourir le tableau (on devra bouclé sur la méthod item de la classe dict)
- for cle, valeur in mon_dict.items():
- print(cle, valeur)
- #affichera:
- # qui vous
- # bonus de la mort qui tue
- # reste trop fort
- # encore mais pas tant que ça
- # verbe êtes
- # Comme on peut voir, c'est pas du tout ordonné, un coup on aura cet ordre, l'autre sera différent ... c'est assez random.
- # pour conserver un ordre dans les dict, il faut utiliser des "OrderedDict" ( https://docs.python.org/3.5/library/collections.html#ordereddict-examples-and-recipes )
- # mais je m'arrêterais là.
- #Une chose importante !
- # en python, tout est object, les int, les str, les list, les dict...... rien n'échappe à cette règle.
- # ah, et aussi, dans un tableau, tu peux stocker de tout et n'importe quoi, et ce dans le même tableau, il n'est pas strict à ce niveau.
- # tu peux avoir une liste avec ["blabla", 1, ["ohoh", "hihi"], {"pipi": "popo"}] ça fonctionnera.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement