1
votes

Pourquoi cela fonctionne-t-il pour mon extrait de dictionnaire?

{1:2,3:{4,5}}
Why does this work? I thought I ran a typo but it threw a valid output!Is {4,5} a nested dictionary or something akin to a list?

0 commentaires

4 Réponses :


1
votes

Il s'agit d'un ensemble . Les ensembles se comportent en quelque sorte comme des dictionnaires sans clés (ou sans valeurs). Vous pouvez mettre tout ce que vous voulez comme valeur de dictionnaire (y compris un autre dictionnaire). Cependant, les clés du dictionnaire doivent être hachables.


0 commentaires

2
votes

C'est un set

>>> {4, 5}
{4, 5}
>>> s = {4, 5}
>>> s
{4, 5}
>>> type(s)
<class 'set'>

Vous pouvez stocker n'importe quel objet python valide en tant que valeur dans un dictionnaire. Par conséquent, {1: 2,3: {4,5}} est un dictionnaire valide.


0 commentaires

1
votes

{4, 5} est un ensemble . C'est un conteneur de type liste triée avec des éléments uniques, il est donc similaire à un dictionnaire.


0 commentaires

2
votes

Oui, vous avez un dictionnaire qui contient un ensemble. Les dictionnaires sont des objets appariés clé-valeur dont la valeur peut être n'importe quoi, des entiers, des listes, des ensembles, des dataframes, des dictionnaires, etc ...

Dans ce cas particulier, nous pouvons le voir en effectuant quelques impressions avec type code>:

{4} is of type  <class 'set'>

Qui affiche correctement:

{1: 2, 3: {4, 5}}  is of type  <class 'dict'>
2 is of type  <class 'int'>
{4, 5} is of type  <class 'set'>

Ce serait affiché si A = {1: 2,3: {4,4}}

A = {1:2,3:{4,5}}
print(A, " is of type " , type(A))
print(A[1], "is of type " , type(A[1]))
print(A[3], "is of type " , type(A[3]))

Parce que set contient des éléments uniques, les répétitions sont donc éliminées. Vous trouverez ici plus d'informations sur les ensembles


4 commentaires

cela aide, et si j'essayais {4,4} au lieu de 4,5?


Vous auriez {4}.


Comme l'a dit Denis, j'ai édité ma réponse pour inclure ce scénario @Pi_die_die


et j'ai ajouté la balise set à ma question pour les futurs référents