Python ensembles et les dictionnaires peuvent être construits en utilisant des accolades:
my_dict = {'a': 1, 'b': 2}
my_set = {1, 2, 3}
L'interprète (et les lecteurs) peut les distinguer en fonction de leur contenu. Cependant, il n'est pas possible de faire la distinction entre un ensemble vide et vide dict, donc ce cas, vous devez utiliser set()
de vide ensembles de lever l'ambiguïté.
Une épreuve très simple suggère que le sens littéral de la construction est plus rapide (python3.5):
>>> timeit.timeit('a = set([1, 2, 3])')
0.5449375328607857
>>> timeit.timeit('a = {1, 2, 3}')
0.20525191631168127
Cette question traite de certains problèmes de performances de littéral des constructions plus de fonctions internes, mais pour les listes et les dicts. Le résumé semble que littérale constructions nécessitent moins de travail de l'interprète.