Vide de sens littéral?

[] = vide list

() = vide tuple

{} = vide dict

Est là une notation similaire pour un vide set?
Ou dois-je écrire set()?

  • vous n'acceptez pas {i pour i dans []}, n'est-ce pas?
  • Voulons simplement montrer presque tout est possible avec python. Si vous voulez créer un jeu sans l'aide de set(), vous pouvez.
  • Ouais, tu peux faire à peu près tout dans une centaine de convulted façons. Je ne suis pas d'ajouter map(lambda x: x) à mes exemples de code juste pour vous montrer que cela fonctionne. Ce n'est pas un ensemble littéral aussi bien, c'est juste un ensemble de compréhension.
  • Il devrait y avoir un, et de préférence seulement une façon évidente de le faire.
  • Un muet façon dont les œuvres seraient {0}-{0}. Ce n'est pas aussi claire que set(), mais elle a l'avantage de ressembler à une drôle de paire d'yeux.
  • Comment cela fonctionne? (Je suis juste curieux, comme je l'ai utilisé à tort {{}} pour désigner un vide dict(dict()), et PyCharm il prenait pour un jeu.)
  • {} est un dictionnaire. {0} est un ensemble. {0} - {0} est la différence entre un jeu et lui-même, qui est l'ensemble vide.
  • Je suis partie à l' {*''}, personnellement, si seulement parce qu'elle ressemble à un visage. (Ne l'utilisez pas au sérieux, tout de même!)
  • Pour une raison quelconque, {*"} tourne plus vite sur mon ordinateur que set()
  • Qui semble correct. Les appels de fonction sont assez lent en Python (en grande partie grâce à la pile de manipulation des frais généraux) pour un appel solution est toujours va être plus rapide -- cf. f{a}' vs str(a). Le problème avec {*''} est tout simplement que le gain de vitesse n'est pas vraiment la peine temporairement à confusion tout le monde qui lit votre code (et microoptimizations presque jamais question en Python si vous n'êtes pas déjà en utilisant pypy).
  • Attention: tout () est un n-uplet, ('a string') est une chaîne de caractères. Dans le second, entre parenthèses juste "protéger" le contenu (vous permettant d'écrire des expressions sur plusieurs lignes sans une fuite \). Initialiser un tuple avec un élément par l'ajout d'une virgule: ('a string', ) est un n-uplet de longueur 1.

InformationsquelleAutor Johan Råde | 2011-05-25