Hachable ou pas ?
Exercice · informatique (tronc commun des prépas scientifiques), chapitre 17 — Les dictionnaires dévoilés : le hachage
Énoncé
Déterminer si Python accepte les candidats-clés suivants : 3.14 ; "abc" ; [1, 2] ; (1, 2) ; (1, [2]) ; ((1,), "a") ; {1, 2} ; frozenset({1, 2}). Justifier par les règles d'admissibilité et proposer une alternative ("gel") pour chaque élément refusé.
Corrigé
3.14: Accepté. Les nombres flottants sont immuables."abc": Accepté. Les chaînes de caractères sont immuables.[1, 2]: Refusé. C'est une liste, qui est un type mutable. Alternative : la geler sous forme de tuple(1, 2).(1, 2): Accepté. C'est un tuple composé uniquement d'éléments immuables.(1, [2]): Refusé. Bien que le tuple soit en lui-même immuable, il contient une liste mutable. La mutabilité interne contamine l'ensemble. Alternative : geler la liste interne sous forme de tuple(1, (2,)).((1,), "a"): Accepté. C'est un tuple imbriqué ne contenant que des éléments immuables.{1, 2}: Refusé. C'est un ensemble mutable (set). Alternative : utiliser un ensemble immuablefrozenset({1, 2}).frozenset({1, 2}): Accepté. Cet ensemble figé est immuable.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.