J'apprends python et j'ai une question novice sur l'initialisation des ensembles. Grâce à des tests, j'ai découvert qu'un ensemble peut être initialisé comme ceci:
my_set = {'foo', 'bar', 'baz'}
Y a-t-il des inconvénients à le faire de cette façon, par opposition à la méthode standard de:
my_set = set(['foo', 'bar', 'baz'])
ou est-ce juste une question de style?
python
python-2.7
set
fvrghl
la source
la source
Réponses:
Il y a deux problèmes évidents avec la syntaxe littérale définie:
Il n'est pas disponible avant Python 2.7
Il n'y a aucun moyen d'exprimer un ensemble vide en utilisant cette syntaxe (l'utilisation
{}
crée un dict vide)Ceux-ci peuvent être importants ou non pour vous.
La section de la documentation décrivant cette syntaxe est ici .
la source
Comparez également la différence entre
{}
etset()
avec un seul mot.mais les deux
a
etb
sont des ensembles bien sûr.la source
set([])
plutôt que justeset()
.set()
prenez toujours un seul argument. Un seul itérable.De la documentation Python 3 (il en va de même pour python 2.7 ):
en python 2.7:
Sachez que
{}
c'est également utilisé pourmap
/dict
:On peut également utiliser une syntaxe complète pour initialiser des ensembles:
la source
Vous devez faire
empty_set = set()
pour initialiser un ensemble vide.{}
est une diction vide.la source