Verwenden Sie geschweifte Klammern zu initialisieren Set in Python

Lerne ich python, und ich habe eine Anfänger-Frage zum initialisieren setzt. Durch Tests habe ich herausgefunden, dass ein Satz kann initialisiert werden, etwa so:

my_set = {'foo', 'bar', 'baz'}

Gibt es irgendwelche Nachteile, es zu tun auf diese Weise, im Gegensatz zu den standard-Weg:

my_set = set(['foo', 'bar', 'baz'])

oder ist es nur eine Frage des Stils?

  • Die Dokumentation gilt es zu erwähnen, einfach nicht gibt. Beachten Sie, dass die Dokumentation für ein veraltetes Modul, die real-sets sind jetzt vordefiniert. Es ist in der "What' s New in Python 2.7" Dokument", und das Referenzhandbuch kurz beschreibt: docs.python.org/2/reference/expressions.html#set-displays
  • Ich verwende python 2.7, so dass ich nicht glaube, einen Blick in die python-3-docs. Der link, den ich gepostet ist bei 2.7, aber es seltsamerweise gar nicht erwähnt.
  • Ich habe seit bearbeitete meinen Kommentar, der 2,7 docs auch dies erwähnen. Der link, den Sie gepostet wird, ist veraltet, ein Relikt aus der Vergangenheit, falsch, veraltet. Vergessen, dass es existiert und nutzen, wie Sie selbst sagt, dass Sie stattdessen verwenden: docs.python.org/2/library/stdtypes.html#set und docs.python.org/2/library/stdtypes.html#frozenset
  • Danke für die Hilfe mich aus. Ich bearbeitet habe, die Frage also, dass ich nicht mehr sagen, es gibt keine Dokumentation dafür (obwohl es gibt einige Beispiele, in denen dieses online).
  • Für Passanten: Pycharm warnt vor der Verwendung einer Funktion aufrufen, wenn man eine literal - es kann aus Gründen der performance werden - also lieber das set buchstäblich in neuem code
InformationsquelleAutor fvrghl | 2013-06-28
Schreibe einen Kommentar