Qu'est-ce que je fais de mal ici ?
a = set().add(1)
print a # Prints `None`
J'essaie d'ajouter le nombre 1
à l'ensemble vide.
Qu'est-ce que je fais de mal ici ?
a = set().add(1)
print a # Prints `None`
J'essaie d'ajouter le nombre 1
à l'ensemble vide.
Vous attribuez la valeur retournée par set().add(1)
à a. Cette valeur est None
comme add()
ne renvoie pas de valeur, mais agit en lieu et place sur la liste.
Ce que vous vouliez faire, c'était ça :
a = set()
a.add(1)
print(a)
Bien sûr, cet exemple est trivial, mais Python prend en charge les littéraux d'ensembles, donc si vous voulez vraiment le faire, c'est mieux :
a = {1}
print(a)
Les accolades indiquent un ensemble (mais attention, {}
dénote un dict vide, et non un ensemble vide, car les crochets sont utilisés à la fois pour les dicts et les ensembles (les dicts sont séparés par l'utilisation des deux points pour séparer les clés et les valeurs).
Vous devriez le faire :
a = set()
a.add(1)
print a
Remarquez que vous assignez à a
le résultat de en ajoutant 1
et le add
telle qu'elle est définie dans Python, retourne None
- et c'est ce qui est assigné à a
dans votre code.
Vous pouvez également procéder ainsi pour initialiser un ensemble :
a = set([1, 2, 3])
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.