Maison  >  Article  >  développement back-end  >  Comment récupérer les clés des dictionnaires Python préservant l'ordre

Comment récupérer les clés des dictionnaires Python préservant l'ordre

Patricia Arquette
Patricia Arquetteoriginal
2024-10-17 18:11:02858parcourir

How to Retrieve Keys from Order-Preserving Python Dictionaries

Indexation dans un dictionnaire : comprendre la fonctionnalité de préservation de l'ordre

En Python, les dictionnaires sont utilisés pour stocker des paires clé-valeur et, traditionnellement, ces dictionnaires n'étaient pas ordonnés. Cependant, avec l'introduction de Python 3.7, les dictionnaires ont acquis une fonctionnalité de préservation de l'ordre, se comportant de manière similaire à OrderedDicts.

Bien que cette fonctionnalité élimine la possibilité d'indexer directement les dictionnaires à l'aide d'un index entier (par exemple, couleurs[0]) , il ouvre des approches alternatives pour récupérer la première ou la n-ième clé d'un dictionnaire.

Récupération de la première clé et de la valeur

Pour obtenir la première clé du dictionnaire, vous pouvez convertir la clés du dictionnaire vers une liste et accédez au premier élément :

<code class="python">first_key = list(colors)[0]</code>

De même, pour obtenir la première valeur, convertissez les valeurs du dictionnaire en une liste et accédez au premier élément :

<code class="python">first_val = list(colors.values())[0]</code>

Une méthode alternative pour récupérer la première clé

Si vous ne souhaitez pas créer de liste, vous pouvez utiliser une fonction d'assistance pour parcourir les clés du dictionnaire et renvoyer la première :

<code class="python">def get_first_key(dictionary):
    for key in dictionary:
        return key
    raise IndexError</code>

Grâce à cette fonction, vous pouvez récupérer la première clé de la manière suivante :

<code class="python">first_key = get_first_key(colors)</code>

Récupérer la n-ème clé

Pour récupérer la n-ème clé, vous pouvez utiliser une version modifiée de la fonction get_first_key :

<code class="python">def get_nth_key(dictionary, n=0):
    if n < 0:
        n += len(dictionary)
    for i, key in enumerate(dictionary.keys()):
        if i == n:
            return key
    raise IndexError("dictionary index out of range") </code>

Avec cette fonction, vous pouvez récupérer la n-ème clé comme :

<code class="python">first_key = get_nth_key(colors, n=1)  # retrieve the second key</code>

Notez que ces méthodes reposent sur une itération dans le dictionnaire, qui peut être inefficace pour les gros dictionnaires.

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