Ce que cet article vous apporte concerne la façon dont Python maintient les dictionnaires en ordre (code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
1. Exigences
Nous voulons créer un dictionnaire, et en même temps, lors de l'itération ou de la sérialisation du dictionnaire, nous pouvons également contrôler l'ordre des éléments.2. Solution
Pour contrôler l'ordre des éléments dans le dictionnaire, vous pouvez utiliser la classe OrderedDict dans le module collections. Lors d’une itération sur un dictionnaire, il le fait strictement dans l’ordre dans lequel les éléments ont été initialement ajoutés.
from collections import OrderedDict d=OrderedDict() d['a']=1 d['b']=2 d['c']=3 d['d']=4 #根据插入删除输出 for key in d: print(key,d[key])
Résultat :
a 1 b 2 c 3 d 4
OrderedDict est particulièrement utile lorsque vous souhaitez créer une structure de mappage qui peut être ultérieurement sérialisée ou encodée dans un autre format. Par exemple : Si vous souhaitez contrôler avec précision l'ordre de chaque champ lors de l'encodage JSON, il vous suffit alors de construire d'abord les données dans OrderedDict :
from collections import OrderedDict import json d=OrderedDict() d['a']=1 d['b']=2 d['c']=3 d['d']=4 j=json.dumps(d) print(j)
Résultat :
{"a": 1, "b": 2, "c": 3, "d": 4}
Veuillez noter : OrderedDict est 2 fois la taille d'un dictionnaire normal. Cela est dû à la liste chaînée supplémentaire qu’il crée. Par conséquent, si vous envisagez de créer une structure de données impliquant un grand nombre d'instances OrderedDict (par exemple, lire 100 000 lignes d'un fichier CSV dans une liste OrderedDict), vous devrez effectuer une analyse des exigences de l'application pour déterminer les avantages. d'utiliser OrderedDict. Les inconvénients de la surcharge de mémoire supplémentaire peuvent-ils être surmontés ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!