Python-Sets und Wörterbücher können mit geschweiften Klammern erstellt werden:
my_dict = {'a': 1, 'b': 2}
my_set = {1, 2, 3}
Der Dolmetscher (und die menschlichen Leser) können sie anhand ihres Inhalts unterscheiden. Es ist jedoch nicht möglich, zwischen einem leeren Satz und einem leeren Diktat zu unterscheiden. Daher müssen Sie diesen Fall verwenden, set()
damit leere Sätze eindeutig sind.
Ein sehr einfacher Test legt nahe, dass die wörtliche Konstruktion schneller ist (python3.5):
>>> timeit.timeit('a = set([1, 2, 3])')
0.5449375328607857
>>> timeit.timeit('a = {1, 2, 3}')
0.20525191631168127
Diese Frage behandelt einige Probleme der Leistung von wörtlichen Konstruktionen über eingebaute Funktionen, wenn auch für Listen und Diktate. Die Zusammenfassung scheint zu sein, dass wörtliche Konstruktionen weniger Arbeit vom Interpreten erfordern.
set()
mit{}
, aber Sie können einen nicht leeren ersetzenset((1, 2, 3))
mit einer wörtlichen{1, 2, 3}
, denn jetzt ist es klar, dass kein Wörterbuch ist. Siehe docs.python.org/2/library/stdtypes.html#set-types-set-frozenset