Maison  >  Article  >  développement back-end  >  Comment obtenir la clé suivante dans un dictionnaire en Python ?

Comment obtenir la clé suivante dans un dictionnaire en Python ?

王林
王林avant
2023-08-28 23:45:12987parcourir

Comment obtenir la clé suivante dans un dictionnaire en Python ?

Dictionary est un type de données puissant en Python. Il se compose de paires clé-valeur. La recherche, l'ajout et d'autres opérations peuvent être effectuées efficacement grâce à ce type de données. Bien que l'accès aux valeurs d'un dictionnaire soit simple, il peut arriver que vous deviez rechercher la clé suivante dans le dictionnaire. Python propose plusieurs façons d'y parvenir, en fonction de vos besoins spécifiques. Dans cet article, nous explorerons différentes manières d'obtenir la clé suivante dans un dictionnaire en Python.

Utiliser les clés et les méthodes d'index

Les dictionnaires sont des collections non ordonnées en Python. Nous devons donc d’abord convertir les clés sous une forme triée. Nous pouvons d’abord ajouter toutes les clés sous la forme d’une liste. Ensuite, nous pouvons trouver la clé suivante en indexant la liste. A l'aide de clés, nous pouvons également accéder aux valeurs correspondantes.

Grammaire

<dictionary name>.keys()

La méthode des clés est une méthode intégrée de Python qui renvoie les clés du dictionnaire. Il renvoie un objet de vue, que nous pouvons convertir en liste à l'aide de la méthode list de Python. L'objet de vue est dynamique, donc toute modification apportée au dictionnaire est également reflétée dans l'objet de vue.

<iterable object>.index(<name of the key>, start, end)

En Python, la méthode "index" est une méthode intégrée. Il peut être appliqué à des séquences itérables. Il accepte un paramètre obligatoire, qui est la valeur dont nous devons trouver l'index dans la séquence itérable. De plus, il accepte deux paramètres facultatifs, start et end, qui définissent la plage dans laquelle nous devons rechercher les éléments. Il renvoie un entier représentant la première occurrence de l'élément dans la séquence itérable.

Exemple

Dans le code ci-dessous, nous créons d'abord un dictionnaire nommé my_dict. Nous définissons la clé actuelle comme "banane". Dans ce cas, notre objectif est de trouver la prochaine clé « orange ». Nous utilisons la méthode des clés du dictionnaire pour obtenir toutes les clés du dictionnaire. Ensuite, nous utilisons la méthode index pour accéder à l'index de la clé actuelle. Nous fournissons une instruction conditionnelle dans laquelle nous imprimons les clés dont l'index n'est supérieur que de 1 à la clé actuelle.

my_dict = {'apple': 1, 'banana': 2, 'orange': 3, 'kiwi': 4}
current_key = 'banana'
keys = list(my_dict.keys())
current_index = keys.index(current_key)
print("The next element to banana is: ", end="")
if current_index < len(keys) - 1:
    next_key = keys[current_index + 1]
    print(next_key)  
else:
    print("No next key found.")

Sortie

The next element to banana is − orange

Utilisation du module OrderedDict

Une autre façon d'obtenir la clé suivante dans le dictionnaire consiste à utiliser la classe OrderedDict du module collections. OrderedDict nous permet de créer un dictionnaire et de parcourir ses éléments. Cependant, lors de l'utilisation de ce module, la représentation du dictionnaire est très différente des dictionnaires traditionnels. Les éléments sont présentés sous forme de tuples.

Grammaire

OrderedDict([(key1, value1), (key2, value2), (key3, value3), other key-value pairs.....])

'OrderedDict' est le nom de classe du dictionnaire ordonné fourni par le module 'collections' de Python. Nous devons transmettre toutes les paires clé-valeur en tant qu'objets tuple avec des virgules séparant les objets tuple. Nous pouvons avoir plusieurs objets tuple, et cet objet dictionnaire est itérable.

Exemple

Dans ce code, nous importons d'abord le module OrderedDict depuis la bibliothèque de collections de Python. Ensuite, nous définissons notre dictionnaire. Notez que les paires clé-valeur sont séparées par des virgules et entourées de tuples. Ensuite, nous définissons le drapeau de la variable found_current_key sur false. Nous parcourons le dictionnaire et mettons à jour la valeur de la variable next_key. Cette variable contient le résultat dont nous avons besoin. Notez que nous avons utilisé OrderedDict, le dictionnaire est donc désormais itérable.

from collections import OrderedDict
my_dict = OrderedDict([('apple', 1), ('banana', 2), ('orange', 3), ('kiwi', 4)])
current_key = 'orange'
next_key = None
found_current_key = False
print("The next element to banana is: ", end="")
for key in my_dict:
    if found_current_key:
        next_key = key
        break
    if key == current_key:
        found_current_key = True
print(next_key)  

Sortie

The next element to banana is: kiwi

Utilisez la méthode key() et les drapeaux

Si vous n'avez pas besoin de conserver l'ordre des clés, une approche simple consiste à utiliser la méthode keys() du dictionnaire et une variable flag pour garder une trace de la clé actuelle. L'idée est de parcourir les clés du dictionnaire et si la clé actuelle est trouvée, de mettre à jour la valeur de la clé suivante. Veuillez noter que si nous utilisons la méthode des clés de Python, nous obtiendrons toutes les clés sous forme de liste. Ces listes sont itérables, nous pouvons donc effectuer cette itération.

Exemple

Dans le code ci-dessous, nous créons le dictionnaire et définissons la valeur de current_key sur "apple". Ensuite, nous définissons la valeur de la variable next_key sur False. Nous parcourons les clés du dictionnaire. Nous avons utilisé des instructions conditionnelles. L'instruction conditionnelle vérifie si l'indicateur found_current_key est vrai et si c'est le cas, attribue la clé actuelle à next_key, rompant ainsi la boucle. L'indicateur found_current_key est vrai si la clé actuelle est égale à current_key.

my_dict = {'apple': 1, 'banana': 2, 'orange': 3, 'kiwi': 4}
current_key = 'apple'
next_key = None
found_current_key = False
print("The next element to banana is: ", end="")
for key in my_dict.keys():
    if found_current_key:
        next_key = key
        break
    if key == current_key:
        found_current_key = True
print(next_key) 

Sortie

The next element to banana is: banana

Conclusion

Dans cet article, nous avons appris comment obtenir la clé suivante dans un dictionnaire en Python. Nous pouvons utiliser la propriété d'itération d'une liste ou d'un tuple pour collecter toutes les clés du dictionnaire et trouver la prochaine clé disponible. Python nous fournit également le module Ordered Dict avec lequel nous pouvons facilement parcourir les éléments du dictionnaire. Ce module nous offre la possibilité de créer des dictionnaires itératifs. Enfin, nous pouvons utiliser des clés et des drapeaux pour atteindre le même objectif.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer