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

Patricia Arquette
Libérer: 2024-10-17 18:11:02
original
860 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal