Maison  >  Article  >  développement back-end  >  Comment implémenter le tri par dictionnaire dans la description du code Python

Comment implémenter le tri par dictionnaire dans la description du code Python

伊谢尔伦
伊谢尔伦original
2017-06-28 13:44:372040parcourir

Cet article présente principalement la méthode d'implémentation du tri par dictionnaire python et analyse les compétences associées au tri par dictionnaire Python avec des exemples. Les amis dans le besoin peuvent se référer à

Cet article analyse le python. méthode de tri par dictionnaire avec exemples. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

1. Connaissances préparatoires :

En python, le dictionnaire est un type de données intégré, qui est un structure de stockage non ordonnée, chaque élément est une paire clé-valeur :
Par exemple : dict = {'username' : 'password', 'database' : 'master'}, où 'username' et 'database' sont des clés, et 'password' et 'master' sont la valeur. La référence de la valeur correspondante peut être obtenue via d[key], mais la clé ne peut pas être obtenue via la valeur.

Pour le dictionnaire, vous devez connaître les points suivantsRemarques :

a La clé du dictionnaire est sensible à la casse
b. un dictionnaire Clés en double ;
c. Les dictionnaires ne sont pas ordonnés et n'ont aucune notion d'ordre des éléments. Ce sont simplement des arrangements de paires d'ordre.

2. Implémentation du tri du dictionnaire :

Comme mentionné précédemment, le dictionnaire lui-même n'a aucune notion d'ordre, mais cela arrive toujours à un moment donné, mais nous en avons souvent besoin. trier le dictionnaire, comment faire ? Laissez-moi vous expliquer ci-dessous :

Méthode 1 : La méthode la plus simple, organisez les éléments (paires clé/valeur), puis choisissez la valeur. La méthode items du dictionnaire renvoie une liste de tuples, chaque tuple contenant une paire d'éléments - une clé et une valeur correspondante. À l’heure actuelle, la méthode sort() peut être utilisée pour le tri.

def sortedDictValues1(adict):
  items = adict.items()
  items.sort()
  return [value for key, value in items]

Méthode 2 : utilisez la méthode de disposition des touches pour sélectionner les valeurs, ce qui est plus rapide que la méthode 1. La méthode keys() de l'objet Dictionary renvoie une liste de toutes les valeurs clés du dictionnaire, dans un ordre aléatoire. Lorsque vous avez besoin de trier, utilisez simplement la méthode sort() sur la liste de valeurs clés renvoyées.

def sortedDictValues1(adict):
  keys = adict.keys()
  keys.sort()
  return [adict[key] for key in keys]

Méthode 3 : Utiliser la méthode de mappage pour effectuer la dernière étape plus efficacement

def sortedDictValues1(adict):
  keys = adict.keys()
  keys.sort()
  return map(adict.get,keys)

Méthode 4 : Trier le dictionnaire par clé, le renvoyer sous forme de liste de tuples , et utilisez la fonction lambda ;
sorted(iterable[, cmp[, key[, reverse]]]
cmp et key utilisent généralement lambda
, tel que :

>>> d={"ok":1,"no":2}#对字典按键排序,用元组列表的形式返回
>>> sorted(d.items, key=lambda d:d[0])
[('no', 2), ('ok', 1)]

pour dictionnaire par valeur Trier, renvoyer

>>> sorted(d.items, key=lambda d:d[1])
[('ok', 1), ('no', 2)]

sous la forme d'une liste de tuples. Bien qu'il existe de nombreuses façons de trier les éléments du dictionnaire, il n'y a pas de résumé ici. Mais si vous n'avez pas d'exigences élevées pour le programme. efficacité, choisissez simplement celui que vous aimez OK

.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn