Un dictionnaire comme ensemble
Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 32 sur 78.
Pour transformer un tableau en ensemble, parcourez-le et faites de chaque valeur une clé. Les valeurs répétées aboutissent à la même clé :
var reports := ["spam", "scam", "spam"]
var banned := {}
for word in reports:
banned[word] = true
print(banned.keys()) # ["spam", "scam"]Pour vérifier si une valeur est présente, utilise has() ou l’opérateur in. Avec un dictionnaire, les deux vérifient les clés, jamais les valeurs :
print(banned.has("scam")) # true
print("hello" in banned) # false
print("hello" not in banned) # trueUn tableau possède également has(), mais il compare la valeur aux éléments un par un. Un dictionnaire trouve directement une clé, donc une vérification d’appartenance à un ensemble reste rapide, même avec des milliers d’éléments.
Une boucle for sur un ensemble parcourt ses éléments, dans l’ordre où ils ont été ajoutés :
for word in banned:
print(word) # spam, puis scamDéfi
FacileTu vérifies les invités à l’entrée d’une fête. Le programme lit deux lignes d’entrée :
- La liste des invités : des noms séparés par des espaces. Certains noms apparaissent plusieurs fois.
- Les personnes qui arrivent : des noms séparés par des espaces.
Construis l’ensemble guests à partir de la liste des invités. Affiche le nombre de personnes différentes sur la liste, puis une ligne par personne qui arrive : NAME: welcome si cette personne est sur la liste, ou NAME: not on the list. Pour l’entrée :
mia leo ana mia
mia sam anala sortie est :
Guests on the list: 3
mia: welcome
sam: not on the list
ana: welcomeEssayez vous-même
extends Node
func _ready():
var guest_list := OS.read_string_from_stdin().split(" ", false)
var arrivals := OS.read_string_from_stdin().split(" ", false)
var guests := {}
# Construire l’ensemble des invités
# Afficher le nombre d’invités et vérifier chaque arrivée
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et flux d’exécution
1Les chaînes de caractères en profondeur
Méthodes des chaînesRechercher dans les chaînesRemplacer et supprimer les espacesDécouper et joindreRécapitulatif - Vérifier un nom d’utilisateur4Dictionnaires, partie 2
Dictionnaires imbriquésTableaux de dictionnairesFusionner des dictionnairesCopier des dictionnairesRécapitulatif - Compteur de fréquence7Énumérations
Qu’est-ce qu’une énumération ?Définir une énumérationValeurs d’une énumérationÉnumérations avec matchRécapitulatif - Feu de circulation10Fonctions avancées
Renvoyer plusieurs valeursFonctions lambda, partie 1Fonctions lambda, partie 2Récapitulatif - Tri avec lambdaFonctions récursives, partie 1Fonctions récursives, partie 2Récapitulatif - Somme d’un tableau imbriqué13Système de gestion des stocks
Présentation du projetAjouter un article2Prise de décision avancée
Correspondance avec des variablesGardes de correspondanceMotifs de tableauMotifs de dictionnaireVérifications d’appartenanceRécapitulatif – Analyseur de commandes5Application de carnet d’adresses
Afficher le menuAjouter un contact8Gestionnaire des dossiers étudiants
Aperçu du projetAjouter un étudiant3Tableaux multidimensionnels
Bases des tableaux 2DAccéder aux éléments d’un tableau 2DBoucles imbriquées avec des tableaux 2DRécapitulatif - Tableaux 2DTableaux irréguliersMotifs courants des tableaux 2DRécapitulatif - Plateau de jeu6Les ensembles avec les dictionnaires
Qu’est-ce qu’un ensemble ?Un dictionnaire comme ensembleAjouter et supprimerUnion et intersectionDifférence d’ensemblesRécapitulatif – Supprimer les doublons9Agrégation avancée de données
Additionner des valeursTrouver le minimum et le maximumTri personnaliséRécapitulatif - Trieur de dictionnairesEntraînez-vous par vous-même : Compilateur GDScript en ligne