Python >> Tutoriel Python >  >> Python

Dictionnaire Python Get Value - Un guide illustré simple

Que vous soyez débutant ou professionnel, les dictionnaires font partie intégrante de votre parcours de programmation, surtout si vous codez en Python. Les dictionnaires Python sont tous axés sur la clé-valeur des paires qui vous aident à accomplir votre tâche.

Il existe des restrictions sur les clés de dictionnaire, mais les valeurs n'en ont pas. Littéralement, tout peut être une valeur. Tant que votre clé est un type de données immuable, vos paires clé-valeur peuvent être n'importe quelle combinaison de types que vous souhaitez. Vous avez le contrôle total ! La question ici est :"Comment accédons-nous à ces valeurs ?" Ainsi, dans cet article, vous découvrirez les différentes façons d'accéder/extraire des valeurs d'un dictionnaire Python.

✨ Scénario 1 :Obtenir des valeurs pour les clés spécifiées

Problème : Étant donné un dictionnaire Python, comment extraire les valeurs de ce dictionnaire ?

Exemple :

device = {
  "brand": "Apple",
  "model": "iPhone 12 Pro",
  "price": 999.00,
  "released": 2020
}

# Some method to extract model-name and price, i.e. iPhone 11 and $ 999.0 

Voyons donc sans plus tarder les nombreuses méthodes d'accès aux valeurs.

➥ Méthode 1 :Utilisation de la notation entre crochets []

device = {
  "brand": "Apple",
  "model": "iPhone 12 Pro",
  "price": 999.00,
  "released": 2020
}

model = device['model']
price = device['price']
print("Name: ",model,"\nPrice: $",price)

Sortie :

Name:  iPhone 12 Pro 
Price: $ 999.0 

➥ Méthode 2 :Utiliser get()

Le get() La méthode en Python vous aide à récupérer la valeur de la clé spécifiée si la clé est présente dans un dictionnaire donné.

Solution : Voyons la solution pour visualiser l'utilisation du get() méthode pour extraire des valeurs d'un dictionnaire.

device = {
    "brand": "Apple",
    "model": "iPhone 12 Pro",
    "price": 999.00,
    "released": 2020
}

model = device.get('model')
price = device.get('price')
print("Name: ", model, "\nPrice: $", price)

Sortie :

Name: iPhone 12 Pro
Price: $ 999.0

✨ Scénario 2 :Obtenir toutes les valeurs du dictionnaire

Dictionnaire donné :

device = {
    "brand": "Apple",
    "model": "iPhone 12 Pro",
    "price": 999.00,
    "released": 2020
}

➥ Méthode 1 :Utiliser des valeurs()

Le values() La méthode en Python renvoie un objet de vue constitué de la liste de toutes les valeurs présentes dans le dictionnaire. Par conséquent, si vous souhaitez lister toutes les valeurs présentes dans le dictionnaire, utilisez le values() méthode.

device = {
    "brand": "Apple",
    "model": "iPhone 12 Pro",
    "price": 999.00,
    "released": 2020
}
val = list(device.values())
print(val)

# To access model name and Price of product
print("Name: ", val[1], "\nPrice: $", val[2])

Sortie :

['Apple', 'iPhone 12 Pro', 999.0, 2020]
Name:  iPhone 12 Pro 
Price: $ 999.0

➥ Méthode 2 :Utiliser la boucle For

Une autre façon d'extraire toutes les valeurs consiste à parcourir chaque élément du dictionnaire et à les imprimer un par un comme indiqué ci-dessous :

device = {
    "brand": "Apple",
    "model": "iPhone 12 Pro",
    "price": 999.00,
    "released": 2020
}
for val in device:
    print(device[val])

Sortie :

Apple
iPhone 12 Pro
999.0
2020

✨ Scénario 3 :Obtenir la liste des valeurs pour la liste des clés

Vous pouvez utiliser une liste de clés d'un dictionnaire pour obtenir une liste de valeurs correspondantes.

Exemple :

my_dict = {'roll1': 'Jenny', 'roll2': 'Gwen', 'roll3': 'Ben'}
my_keys = ['roll3', 'roll1']

# Expected Output: ['Ben','Jenny']

Sans perdre de temps en théorie, plongeons rapidement dans les solutions.

➥ Méthode 1 :Utiliser une compréhension de liste

La compréhension de liste est une manière compacte de créer des listes. La formule simple est [expression + context] .

  • Expression :Que faire de chaque élément de la liste ?
  • Contexte :quels éléments sélectionner ? Le contexte consiste en un nombre arbitraire de for et if déclarations.

Veuillez vous référer à cet article pour une plongée plus profonde dans la compréhension des listes.

Solution :

my_dict = {'roll1': 'Jenny', 'roll2': 'Gwen', 'roll3': 'Ben'}
my_keys = ['roll3', 'roll1']
print([my_dict[x] for x in my_keys])

Sortie :

['Ben', 'Jenny']

➥ Méthode 2 :Utilisation des méthodes map() et get()

  • Le map() La fonction renvoie un objet map qui est un itérateur qui enregistre tous les éléments mappés afin que vous puissiez les parcourir.

❖ En savoir plus sur la méthode map() dans cet article :- Python map() — enfin maîtriser la fonction Python Map

Ainsi, vous pouvez facilement mapper les paires clé-valeur en utilisant le map() et extrayez les valeurs respectives à l'aide de la méthode get comme indiqué dans la solution ci-dessous.

my_dict = {'roll1': 'Jenny', 'roll2': 'Gwen', 'roll3': 'Ben'}
my_keys = ['roll3', 'roll1']
print(list(map(my_dict.get, my_keys)))

Sortie :

['Ben', 'Jenny']

✨ Scénario 4 :Obtenir des valeurs à partir d'un dictionnaire imbriqué

Certains d'entre vous se demandent peut-être qu'est-ce qu'un dictionnaire imbriqué ?

❖ En termes simples, un dictionnaire imbriqué en Python est un dictionnaire contenant d'autres dictionnaires. En d'autres termes, un dictionnaire imbriqué est une collection de deux dictionnaires ou plus.

Exemple :

people = {
    'Alice': {
        'phone': '6589',
        'address': '90 Eastlake Court'
        },

    'John': {
        'phone': '5693',
        'address': '560 Hartford Drive'
        },

    'David': {
        'phone': '8965',
        'address': '96 SW 42nd'
        }
}

Maintenant, cela nous amène à quelques questions. Explorons-les un par un.

➥ Comment accéder aux éléments d'un dictionnaire enfant particulier dans le dictionnaire parent imbriqué ?

La solution à cette question est assez simple ! Pour accéder aux éléments d'un dictionnaire enfant particulier dans le dictionnaire parent, vous devez utiliser [] notation pour spécifier le dictionnaire enfant, puis un autre [] pour spécifier la valeur particulière dans ce dictionnaire.

Exemple : Le code suivant montre comment extraire le contenu du sous-dictionnaire 'John ‘ présent dans l’exemple ci-dessus. Il y a deux scénarios ici :

  • Scénario 1 :obtenir toutes les valeurs en même temps
  • Scénario 2 :obtenir une valeur particulière (par exemple, l'adresse)
people = {
    'Alice': {
        'phone': '6589',
        'address': '90 Eastlake Court'
        },

    'John': {
        'phone': '5693',
        'address': '560 Hartford Drive'
        },

    'David': {
        'phone': '8965',
        'address': '96 SW 42nd'
        }
}
# Scenario 1: get all values at once
for x in people['Alice'].values():
    print(x)

# Scenario 2: get a particular value
print("Alice's Address: ",people['Alice']['address'])

Sortie :

6589
90 Eastlake Court
Alice's Address:  90 Eastlake Court

➥ Comment extraire les valeurs d'une valeur particulière d'une liste de toutes les valeurs imbriquées ?

Problème : Extraire tous les phone nombres présents dans le dictionnaire des personnes.

Solution : Vous pouvez accéder à une valeur particulière correspondant à la même clé dans chaque sous-dictionnaire du dictionnaire imbriqué à l'aide d'un for loop et le items() méthode, puis extrayez la valeur requise à l'aide de la clé dans le [] notation.

people = {
    'Alice': {
        'phone': '6589',
        'address': '90 Eastlake Court'
        },

    'John': {
        'phone': '5693',
        'address': '560 Hartford Drive'
        },

    'David': {
        'phone': '8965',
        'address': '96 SW 42nd'
        }
}
for key,val in people.items():
    print(val['phone'])

Sortie :

6589
5693
8965

Vous pouvez également utiliser une compréhension de liste simple pour stocker les valeurs requises dans une liste à l'aide du morceau de code suivant :

print([val['phone'] for key,val in people.items()])

Conclusion

Avec cela, nous arrivons à la fin de ce tutoriel complet sur la façon d'accéder aux valeurs d'un dictionnaire. Après avoir terminé cet article, vous voudrez peut-être consulter l'article suivant :Comment mettre à jour une clé dans un dictionnaire en Python si la clé n'existe pas ?

Veuillez rester à l'écoute et abonnez-vous pour des contenus intéressants à l'avenir. Bon codage !  ?