· 4 min read

Learn Python Data Structures in French: 125 Flashcards on Lists, Dicts and Generators

Apprendre les structures de donnees Python en francais : listes, tuples, ensembles, dictionnaires, comprehensions et generateurs en 125 cartes (deck CG3449).

Flat vector illustration of a python snake coiled around stacked translucent data cubes and code brackets

Studying. But it's also a video game. 🎮

Flashcards, quizzes and games that make you actually remember.

Start playing — it's free

Posted by

Most Python tutorials in French stop at the loop. Flip It deck CG3449, Python : structures de données et compréhensions, goes all the way to yield from and the walrus operator: 125 cards whose fronts keep the real Python identifiers while every explanation is written in French. It is the French edition of the platform's flagship data-structures deck, so nothing you memorise here needs re-learning when you open the official docs in English.

Study this deck: Python : structures de données et compréhensions

1 / 10
Question

List.append(x)

Knew itLearning

Tap the card for the answer · swipe right if you knew it, left if not

Extrait des cartes

RectoVerso
list.append(x)Ajoute un élément à la fin de la liste (équivalent à a[len(a):] = [x])
list.pop([i])Supprime et renvoie l'élément à la position i. Sans index, supprime et renvoie le dernier élément
sorted() vs list.sort()sorted() renvoie une nouvelle liste triée ; list.sort() trie sur place et renvoie None
Create a tuple with one itemFaire suivre la valeur d'une virgule : ('hello',) — les parenthèses seules ne suffisent pas
Create an empty setUtiliser set() — et non {} qui crée un dictionnaire vide
Can lists be used as dictionary keys?Non — les listes peuvent être modifiées sur place, elles ne sont donc pas immuables
What order are dictionary keys returned in?Dans l'ordre d'insertion (depuis Python 3.7+)
list comprehension vs generator expressionLa compréhension de liste [] renvoie une liste (toutes les valeurs en mémoire). L'expression génératrice () renvoie un itérateur qui calcule les valeurs à la demande (évaluation paresseuse)
Preferred way to transpose a matrixlist(zip(*matrix)) — privilégier les fonctions intégrées plutôt que des compréhensions complexes
Can you reset a generator to the beginning?Non ! Les générateurs ne peuvent avancer que dans un sens. Pour recommencer, il faut créer un nouveau générateur

Ce que couvrent les 125 cartes

  • Listes — append, extend, insert, remove, pop, clear, index, count, sort, reverse, copy ; pourquoi ces méthodes renvoient None ; la liste comme pile avec append/pop ; pourquoi elle est mauvaise comme file et quand passer à collections.deque ; del a[i] face à a.pop(i), del a[:].
  • Tuples et ensembles — immuabilité, tuples contenant des objets modifiables, tuple vide (), tuple à un élément ('hello',), tuple packing, déballage de séquence x, y, z = t ; set() pour éliminer les doublons, test d'appartenance avec in, différence a - b, compréhension d'ensemble.
  • Dictionnaires — clés immuables, tuples comme clés, KeyError contre dict.get(), écrasement d'une clé existante, list(d), dict.items(), constructeur dict() à partir de paires, arguments nommés dict(key1=val1), ordre d'insertion garanti, compréhension de dictionnaire et gestion des clés dupliquées.
  • Boucles et comparaisons — enumerate(), zip(), reversed(), sorted(), sorted(set(...)) ; in / not in, is / is not, comparaisons chaînées a < b == c, and / or / not, court-circuit, priorité des opérateurs, comparaison lexicographique des séquences, opérateur morse :=.
  • Compréhensions — syntaxe [expr for item in iterable if cond], filtrage, clauses for multiples, compréhensions imbriquées, aplatissement d'une liste 2D, transposition de matrice, tuples entre parenthèses obligatoires, appel de méthodes et de fonctions dans l'expression, morse dans une compréhension.
  • Générateurs — yield, suspension et reprise de l'exécution, next(), StopIteration, générateurs infinis (itertools.count()), efficacité mémoire, send(), close(), throw(), return dans un générateur, try/finally, yield from, générateurs récursifs, iter(), itérables, any(), all(), sum(), max() sur une expression génératrice.

Deux conseils propres à ce deck

1. Rétablissez la casse du code en lisant le recto. Le générateur de cartes a appliqué une majuscule de début de phrase aux fronts : vous lirez List.append(x), Dict.get(key), Zip(), Set(), Iter(), Any(), Max(), Del a[:]. En Python réel, tout cela s'écrit en minuscules — list.append, dict.get, zip(). Une carte est même tronquée : le recto - b correspond à a - b. Prenez l'habitude de retaper la ligne correctement dans un interpréteur avant de retourner la carte.

2. Fixez le couple français / anglais du vocabulaire. Les versos parlent de compréhension de liste, itérable, évaluation paresseuse, sur place, copie superficielle, déballage, immuable. Les messages d'erreur, eux, diront list comprehension, iterable, lazy, in place, shallow copy, unpacking, immutable. Répondez en français, puis dites le terme anglais à voix haute : c'est le seul moyen de chercher StopIteration ou shallow copy sans temps mort.

Où le trouver

Connectez-vous sur flip-it.app et cherchez le code CG3449 dans la bibliothèque. La version anglaise du même contenu est couverte ici : Memorize Python Data Structures and Comprehensions.

Ready to learn faster? 🚀

Join FLIP IT for free and turn studying into a game.

Create my free account