10
votes

Est-il possible d'ajouter paire à la fin du dictionnaire de python

Quand j'introduit une nouvelle paire, elle est insérée au début du dictionnaire. Est-il possible de l'annuler à la fin?


1 commentaires

Costumez-vous peut-être docs.python.org/2/library/...


4 Réponses :


19
votes

Mise à jour

AS de Python 3.7, Dictionnaires Rappelez-vous de l'ordre d'insertion . En ajoutant simplement une nouvelle valeur, vous pouvez être sûr que ce sera «à la fin» si vous iTerez-vous sur le dictionnaire.


Les dictionnaires n'ont pas de commande et n'ont donc pas de début ni de fin. L'ordre d'affichage est arbitraire. Si vous avez besoin d'ordre, vous pouvez utiliser une liste de tuple S au lieu d'un dict : xxx

Vous pourrez le convertir facilement en un dict plus tard: xxx

alternativement, utilisez un Collections.OrderedDict Comme suggéré par IAMALEXALRIGHT.


0 commentaires

5
votes

non. Vérifiez le commandaDict à partir du module de collections.


0 commentaires

7
votes

A dict dans Python n'est pas "commandé" - en Python 2.7+ Il y a Collections.OrderedDict , mais à part ça - non ... le point clé de A Dictionnaire à Python est une clé efficace de clé -> la valeur de la recherche ... La commande que vous les voyez est complètement arbitraire en fonction de l'algorithme de hachage ...


5 commentaires

Cela dépend de l'algorithme de hachage et de l'ordre des articles sont insérés (lorsque les collisions se produisent).


@MGILSON YUP - Complètement différent d'un C ++ carte - qui assure la commande des clés - etc ... etc ...


Je ne saurais pas à propos de C ++ ... Ma première classe de programmation était C ++ et je détesté it. Je pensais que la programmation était la chose la plus stupide jamais. Ironiquement, je suis éventuellement appris à aimer la programmation lorsque j'ai commencé à programmer en C, puis à Fortran, après cela (on dirait que je suis allé à l'envers). Et Python, Fortan et C sont à peu près les seules langues que je code en maintenant - avec un petit script shell ici et là si nécessaire.


@MGILSON Je ne suis pas sûr qu'il y ait une "bonne" langue à apprendre avec ... Tous ont leurs propres forces / faiblesses et ce n'est qu'après que vous "l'obtenez" (ou au moins vous pense Vous Obtenez-le) ... j'ai beaucoup de chance que je pense que je pense que je suis compétent avec Python, mais aussi d'autres sous ma ceinture, alors qui sait ... Il se sent douloureux de programmer C à nouveau;)


Oui, je pense que le problème était qu'ils essayaient de m'apprendre à programmer au lieu d'essayer de m'apprendre à faire quelque chose d'intéressant en utilisant la programmation. Une fois que j'avais une raison solide d'écrire des programmes pour résoudre des problèmes intéressants, il est devenu beaucoup plus amusant. Et vous pouvez imaginer que lorsque j'arrive à programmer en C, c'est comme conduire un Cadillac par rapport à la rédaction de Code Fortran ( Je peux regrouper un groupe d'arguments ensemble et l'appeler une "structure"? Cool! ) . Bien sûr, cela rend Python A Ferrari (en termes d'expérience de codage au moins - pas exactement en termes d'exécution du programme résultant :-D)



0
votes

Les données du dictionnaire sont la collection INONOMER Si vous ajoutez des données à dict, utilisez ceci: Ajout d'une nouvelle paire de valeurs de clé xxx

Si la clé est une chaîne, vous pouvez directement ajouter sans accolades xxx


0 commentaires