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.
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>
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>
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!