Maison >développement back-end >Tutoriel Python >Les dictionnaires Python peuvent-ils être triés ?
En Python, le dictionnaire est un type de données intégré, une structure de stockage non ordonnée, et chaque élément est une paire clé-valeur.
Par exemple : dict = {'username' : 'xiaoming', 'password' : '123456'}, où 'username' et 'password' sont des clés, et « Xiaoming » et « 123456 » sont des valeurs. Vous pouvez obtenir la référence à la valeur correspondante via d[key], mais vous ne pouvez pas obtenir la clé via value.
Pour le dictionnaire, vous devez connaître les points suivants :
a La clé du dictionnaire est sensible à la casse
b. il ne peut pas y avoir de clés en double ;
c. Les dictionnaires ne sont pas ordonnés et n'ont aucune notion d'ordre des éléments. Ce ne sont que de simples arrangements de paires d'ordre.
Le dictionnaire est trié par clé/valeur :
Le dictionnaire lui-même n'a aucune notion d'ordre, mais il l'est toujours à un moment donné, mais nous avons souvent besoin de trier par dictionnaire
Méthode 1 : trier par valeur clé.
def sortedDictValues1(adict): items = adict.items() print "items:",items items.sort() return [value for key, value in items] adict = {"a1":11,"b1":2,"c1":30,"e1":20,"d1":4} print sortedDictValues1(adict) items: [('a1', 11), ('c1', 30), ('e1', 20), ('b1', 2), ('d1', 4)] [11, 2, 30, 4, 20]
La méthode items du dictionnaire renverra une liste de tuples, où chaque tuple contient une paire d'éléments - une clé et une valeur correspondante. Une liste de tuples peut être triée à l’aide de la méthode sort().
Méthode 2 : Trier par valeur clé
def sortedDictValues2(adict): keys = adict.keys() keys.sort() return [dict[key] for key in keys]
La méthode keys() de l'objet dictionnaire renvoie une liste de toutes les valeurs clés du dictionnaire, et le la commande est aléatoire. Lorsque vous avez besoin de trier, utilisez simplement la méthode sort() sur la liste de valeurs clés renvoyée, qui est plus rapide que la méthode 1.
Méthode 3 : Trier par valeur clé
def sortedDictValues3(adict): keys = adict.keys() keys.sort() return map(adict.get, keys)
Utilisez la méthode de mappage pour effectuer la dernière étape plus efficacement
Méthode 4 : Une Instruction de ligne
[(k,di[k]) for k in sorted(di.keys())]
Méthode 5 : Trier par valeur
def sort_by_value(d): items=d.items() backitems=[[v[1],v[0]] for v in items] backitems.sort() return [ backitems[i][1] for i in range(0,len(backitems))]
Échangez d'abord la clé et la valeur de l'élément dans une liste, puis selon la liste chacun La première valeur de l'élément, c'est-à-dire la valeur d'origine, est triée :
Méthode 6 : Trier par valeur
[ v for v in sorted(di.values())]
Méthode 7 : Utiliser la fonction triée key= tri des paramètres :
Trier par clé
print sorted(dict1.items(), key=lambda d: d[0])
Trier par valeur
print sorted(dict1.items(), key=lambda d: d[1]) python内置sorted函数的帮助文档: sorted(…) sorted(iterable, cmp=None, key=None, reverse=False) –> new sorted list
Méthode de tri par dictionnaire, en fait, leurs idées principales sont les mêmes , c'est-à-dire dictionnaire Les éléments de sont séparés en une liste et la liste est triée, triant ainsi indirectement le dictionnaire. Cet « élément » peut être une clé, une valeur ou un élément.
Méthode 8 : série COLLECTION de PYTHON - dictionnaire ordonné (ORDEREDDICT)
orderdDict est un complément au type de dictionnaire, qui préserve l'ordre dans lequel les éléments du dictionnaire sont ajoutés
import collections dic = collections.OrderedDict() dic["featureName"] = "f1" dic["uId"] = "12345" dic["value"] = "7" print dic #结果 #OrderedDict([('featureName', 'f1'), ('uId', '12345'), ('value', '7')])
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!