Voici le dictionnaire que j'ai
propertyList = {
"id": "int",
"name": "char(40)",
"team": "int",
"realOwner": "int",
"x": "int",
"y": "int",
"description": "char(255)",
"port": "bool",
"secret": "bool",
"dead": "bool",
"nomadic": "bool",
"population": "int",
"slaves": "int",
}
Mais quand je l'imprime avec " \n ".join(myDict) J'obtiens ceci
name
nomadic
dead
port
realOwner
secret
slaves
team
y
x
population
id
description
Je sais qu'un dictionnaire n'est pas ordonné mais le résultat est le même à chaque fois et je ne sais pas pourquoi.
38 votes
Sans ordre signifie que l'ordre ne vous regarde pas. Cela ne signifie PAS que l'ordre est incohérent.
1 votes
@S. Lott : Précisément. C'est ce qu'on m'a enseigné dans mon cours d'informatique : " les collections non ordonnées auront toujours un certain ordre ", non ordonné signifie que nous ne devons pas nous y fier
2 votes
Mais si vous êtes intéressé par l'ordre, ce n'est pas la structure de données que vous devriez rechercher. Un dictionnaire est une collection d'éléments non ordonnée. Les listes et les tuples préservent l'ordre.
5 votes
Plus précis : L'ordre des dictionnaires python est arbitraire mais déterministe (selon la spécification python). Déterministe signifie qu'il se comportera toujours de la même manière.
0 votes
Maintenant que j'ai vu cette question, je suggère que si vous voulez préserver l'ordre, vous pouvez placer chaque paire clé-valeur du dictionnaire dans un tuple/une liste afin qu'ils soient toujours dans le même ordre.
0 votes
Réponse algorithmique stackoverflow.com/questions/30537090/