246 votes

Quelle est la syntaxe préférée pour l’initialisation d’une dict ?

Je mets dans un effort pour apprendre Python et je suis très attentif à des normes communes de codage. Cela peut sembler une question inutilement nit-pointilleux, mais je suis en train de se concentrer sur les meilleures pratiques que j’apprends, donc je n’ai pas à désapprendre les habitudes « mauvais ».

Je vois deux méthodes courantes pour l’initialisation d’une dict :

Qui est considérée comme « plus Pythonique » ? Qui pensez-vous utiliser ? Pourquoi ?

273voto

Wai Yip Tung Points 5013

Des accolades. Passage d’arguments de mot-clé dans dict(), bien qu’il fonctionne à merveille dans beaucoup de scénarios, peut initialiser seulement une carte, si les clés sont des identificateurs valides de Python. C'est-à-dire qu’il ne

91voto

Amber Points 159296

Les accolades premiers, bouclés. Dans le cas contraire, vous rencontrez des problèmes de cohérence avec les touches qui ont des personnages étranges en eux, comme `` .

60voto

stephan Points 201

La première version est préférable :

  • Cela fonctionne pour toutes sortes de clefs, donc vous pouvez, par exemple, dire `` . La deuxième variante ne fonctionne que pour les (quelques) clés de chaînes. En utilisant différents types de syntaxe selon le type des clés serait une incohérence inutile.
  • Il est plus rapide :
  • Si la syntaxe spéciale pour les littéraux de dictionnaire n’était pas destinée à être utilisé, il n’existerait probablement pas.

3voto

dividebyzero Points 408

Je pense que la première option est préférable, car vous allez accéder aux valeurs comme a [« a »] ou un [« l’autre »]. Les clés de votre dictionnaire sont des chaînes, et il n’y a aucune raison de prétendre qu’ils ne le sont pas. Pour moi, la syntaxe de mot clé semble habile dans un premier temps, mais obscure à un second regard. Cela n’a de sens pour moi si vous travaillez avec `` , et les mots clés vont devenir des attributs plus tard, quelque chose comme ça.

3voto

Joshua Richardson Points 271

Pour info, si que vous avez besoin d’ajouter des attributs à votre dictionnaire (les choses qui sont attachés au dictionnaire, mais ne sont pas une des clés), puis vous aurez besoin de la seconde forme. Dans ce cas, vous pouvez initialiser votre dictionnaire avec clés ayant des caractères arbitraires, à la fois, comme suit :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X