2021-06-07 10:01:49 +02:00
<!--
title: Python - Manipulation des données
description:
published: true
2021-06-08 11:16:38 +02:00
date: 2021-06-08T09:16:36.896Z
2021-06-07 10:01:49 +02:00
tags:
editor: ckeditor
dateCreated: 2021-06-07T08:01:47.026Z
-->
< figure class = "image image_resized" style = "width:53.94%;" > < img src = "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Python_logo_and_wordmark.svg/1200px-Python_logo_and_wordmark.svg.png" alt = "Fichier:Python logo and wordmark.svg — Wikipédia" > < / figure >
< h1 > Les listes< / h1 >
2021-06-07 10:40:14 +02:00
< p > Une liste se déclare avec des crochets et on accède à une donnée par son indice.< / p >
2021-06-08 10:07:29 +02:00
< pre > < code class = "language-python" > > > > langages = ["python", "C#","java","C++"]
2021-06-07 10:40:14 +02:00
> > > print(langages[1])
C#< / code > < / pre >
2021-06-07 10:41:24 +02:00
< h2 > Les actions possibles sur une liste< / h2 >
2021-06-07 11:14:49 +02:00
< p > list.< strong > append(val) → < / strong > Ajoute la valeur à la fin de la liste< / p >
< p > list.< strong > insert(index, val) → < / strong > Ajoute la valeur à l'index indiqué< / p >
< p > list.< strong > extend(liste) → < / strong > Ajoute les éléments d'une liste à la liste< / p >
< p > list.< strong > remove(val) → < / strong > Supprime le premier élément de la liste égal à < i > val< / i > . Si l'élément n'existe pas, une exception < i > ValueError< / i > est levée< / p >
2021-06-07 11:19:56 +02:00
< p > list.< strong > clear(val) → < / strong > Supprime tous les éléments de la liste< / p >
< p > list.< strong > pop(index < / strong > < i > (optionnel)< / i > < strong > ) → < / strong > Supprime l'élément à l'index indiqué. Sans indication, supprime le dernier élément.< / p >
< p > list.< strong > index(val) → < / strong > Renvoi l'index correspondant à la valeur donnée< / p >
< p > list.< strong > count(val) → < / strong > Renvoi le nombre d'éléments correspondants à < i > val< / i > < / p >
2021-06-07 11:21:26 +02:00
< p > list.< strong > sort() → < / strong > Trie la liste< / p >
2021-06-07 11:19:56 +02:00
< p > list.< strong > reverse() → < / strong > Inverse l'ordre des éléments de la liste< / p >
2021-06-07 11:27:39 +02:00
< h2 > Parcourir une liste< / h2 >
2021-06-07 11:29:04 +02:00
< p > Pour parcourir une liste il suffit d'écrire une boucle < i > < strong > for< / strong > var < strong > in< / strong > list < / i > :< / p >
2021-06-07 11:27:39 +02:00
< pre > < code class = "language-python" > > > > langages = ["python", "C#","java","C++"]
> > > for prog in langages:
2021-06-08 10:14:06 +02:00
> > > print(prog, "est cool")
2021-06-07 11:27:39 +02:00
python est cool
C# est cool
java est cool
C++ est cool< / code > < / pre >
2021-06-07 11:56:20 +02:00
< h1 > Les tuples< / h1 >
2021-06-07 14:19:08 +02:00
< p > Les tuples ressemblent à des listes mais ne sont pas modifiables après leur création. Ils sont définis avec des parenthèses :< / p >
< pre > < code class = "language-python" > > > > tup = (1,2,3)
> > > tup
(1, 2, 3)< / code > < / pre >
< p > Comme pour les listes, on peut accéder à un élément par son indice :< / p >
< pre > < code class = "language-python" > > > > tup[1]
2< / code > < / pre >
< p > Les tuples servent principalement à attribuer plusieurs valeurs :< / p >
2021-06-07 14:19:41 +02:00
< pre > < code class = "language-python" > ####EXEMPLE 1#######
2021-06-07 14:19:08 +02:00
> > > tup = (1,2,3)
> > > a,b,c = tup
> > > a
1
> > > b
2
> > > c
3
2021-06-07 14:19:41 +02:00
####EXEMPLE 2#######
2021-06-07 14:19:08 +02:00
> > > a, b = 1, 2 #dans ce cas, les parenthèses ne sont pas obligatoires
> > > a
1
> > > b
2
2021-06-07 14:19:41 +02:00
####EXEMPLE 3#######
2021-06-07 14:19:08 +02:00
def example():
return 1,2 #ceci est un tuple
tup = example()
2021-06-07 14:20:02 +02:00
a, b = example()
2021-06-07 14:19:08 +02:00
> > > tup
(1, 2)
> > > a
1
> > > b
2< / code > < / pre >
< h1 > Les dictionnaires (+ json)< / h1 >
2021-06-08 10:07:29 +02:00
< h2 > Créer un dictionnaire< / h2 >
2021-06-07 15:17:08 +02:00
< p > Les dictionnaires permettent eux aussi de rassembler des éléments mais sont identifiés par une < strong > clé< / strong > au lieu d'un indice, et vont permettre de traiter beaucoup plus d'informations qu'une liste. Un dictionnaire se déclare avec des accolades.< / p >
2021-06-08 10:07:29 +02:00
< pre > < code class = "language-python" > dictio = {"title": "Modèles de voitures", "SUV": ["CX-5","C-HR","Duster"], "4x4": ["Q5","Tucson","Macan"]}< / code > < / pre >
2021-06-07 15:44:15 +02:00
< p > < / p >
2021-06-07 15:17:08 +02:00
< blockquote >
2021-06-07 15:22:38 +02:00
< p > < strong > Note : < / strong > Les éléments entre crochets sont des listes. Il est possible de déclarer des listes dans un dictionnaire, et même des dictionnaires dans un dictionnaire, un dictionnaire dans une liste, ...< / p >
2021-06-07 15:17:08 +02:00
< / blockquote >
2021-06-07 15:22:38 +02:00
< p > Dans cet exemple nous avons trois clés : “title”, “SUV” et “4x4”.< / p >
2021-06-08 10:07:29 +02:00
< p > Pour ajouter un élément au dictionnaire, on attribue une clé entre crochets puis une valeur.< / p >
< pre > < code class = "language-python" > > > > dictio["citadine"] = "C3"
> > > print(dictio)
{'title': 'Modèles de voitures', 'SUV': ['CX-5', 'C-HR', 'Duster'], '4x4': ['Q5', 'Tucson', 'Macan'], 'citadine': 'C3'}< / code > < / pre >
< h2 > Lire un dictionnaire< / h2 >
2021-06-07 15:22:38 +02:00
< p > Pour connaître le titre nous appelons le dictionnaire avec la clé entre crochets :< / p >
< pre > < code class = "language-python" > > > > dictio["title"]
'Modèles de voitures'< / code > < / pre >
< p > Pour accéder à une valeur d'une liste, il suffit d'indiquer l'indice en fonction de la clé :< / p >
< pre > < code class = "language-python" > > > > dictio["SUV"][1]
'C-HR'< / code > < / pre >
2021-06-08 10:14:06 +02:00
< p > Pour parcourir l'ensemble du dictionnaire on utilise la méthode items().< / p >
< pre > < code class = "language-python" > for cars in dictio.items():
2021-06-08 10:19:43 +02:00
print(cars)
('title', 'Modèles de voitures')
('SUV', ['CX-5', 'C-HR', 'Duster'])
('4x4', ['Q5', 'Tucson', 'Macan'])
('citadine', 'C3')< / code > < / pre >
< p > On reconnait ici une forme de tuple ! On peut donc aussi attribuer 2 variables à la place de cars pour dissocier la clé et la valeur :< / p >
< pre > < code class = "language-python" > for car_type, models in dictio.items():
if car_type != "title": #Pour exclure l'élément "title"
print("Modeles de ",car_type," : ",models)
Modeles de SUV : ['CX-5', 'C-HR', 'Duster']
Modeles de 4x4 : ['Q5', 'Tucson', 'Macan']
Modeles de citadine : C3< / code > < / pre >
< p > < / p >
2021-06-07 15:44:15 +02:00
< h2 > Importer un fichier json en un dictionnaire exploitable< / h2 >
2021-06-07 15:45:22 +02:00
< p > Le format json n'est rien d'autre qu'un dictionnaire. Pour lire un fichier json il suffira alors de le charger et nous obtiendrons le même dictionnaire que nous avions créé.< / p >
2021-06-07 15:46:57 +02:00
< p > < i > Contenu du fichier “voitures.json” :< / i > < / p >
< pre > < code class = "language-plaintext" > {
2021-06-07 15:44:15 +02:00
"title": "Modeles de voitures",
"SUV":
[
"CX-5","C-HR","Duster"
],
"4x4":
[
"Q5","Tucson","Macan"
]
}< / code > < / pre >
2021-06-07 15:47:42 +02:00
< p > On importe ce fichier et le convertit en dictionnaire :< / p >
2021-06-07 15:44:15 +02:00
< pre > < code class = "language-python" > import json
with open('voitures.json') as file: #Fonctionne pour tout type de fichier.
data = json.load(file) #On attribue le contenu du fichier au dictionnaire "data"
> > > data
{'title': 'Modeles de voitures', 'SUV': ['CX-5', 'C-HR', 'Duster'], '4x4': ['Q5', 'Tucson', 'Macan']}< / code > < / pre >
2021-06-08 10:51:57 +02:00
< h1 > Manipuler un fichier< / h1 >
< h2 > Ouvrir un fichier< / h2 >
2021-06-08 11:16:38 +02:00
< p > Méthodes d'ouvertures de fichiers :< / p >
< figure class = "table" >
< table >
< tbody >
< tr >
< td > ‘ r’< / td >
< td > Ouvre en lecture seule< / td >
< / tr >
< tr >
< td > ‘ w’< / td >
< td > Ouvre en écriture, en effaçant le contenu du fichier< / td >
< / tr >
< tr >
< td > ‘ x’< / td >
< td > Ouvre en création exclusive. Échoue si le fichier existe déjà< / td >
< / tr >
< tr >
< td > ‘ a’< / td >
< td > Ouvre en écriture, en ajoutant le contenu à la fin (append)< / td >
< / tr >
< tr >
< td > ‘ b’< / td >
< td > Mode binaire< / td >
< / tr >
< tr >
< td > ‘ t’< / td >
< td > Mode texte (par défaut)< / td >
< / tr >
< tr >
< td > ‘ +’< / td >
< td > Ouvre en modification (lecture écriture)< / td >
< / tr >
< / tbody >
< / table >
< / figure >
2021-06-08 10:51:57 +02:00
< h2 > Fichier texte< / h2 >
< h2 > Fichier CSV< / h2 >
2021-06-07 10:03:22 +02:00
< p > < / p >
2021-06-07 11:32:34 +02:00
< h1 > Formater des chaines de caractères< / h1 >
2021-06-07 10:24:00 +02:00
< p > < / p >