0
votes

Comment obtenir une valeur spécifique à partir d'une clé dans un dictionnaire avec plusieurs valeurs par clé?

J'ai un dictionnaire dans ce format:

my_dict = {"key1":["value1", "value2", "value3"]}

Existe-t-il un moyen simple d'obtenir la troisième valeur de key1? Je suppose que je pourrais obtenir la liste complète des valeurs et ensuite la diviser, mais il doit y avoir un meilleur moyen


3 commentaires

Vous voulez toujours accéder à la troisième valeur ou vous voulez accéder à la dernière? Petite différence mais importante


@LorenzoZane le troisième


Et que se passe-t-il si la liste comporte trois valeurs?


3 Réponses :


0
votes
my_dict['key1'][2]
You access the list in. the value like any other list

0 commentaires

1
votes

Vous pouvez effectuer une simple recherche des manières suivantes -

list(my_dict.values())[0][-1]

#Output = 'value3'

OU (en utilisant dict.get)

list(my_dict.values())[0][2]

#Output = 'value3'

OU (si vous voulez le 3ème élément sans spécifier la clé)

my_dict.get('key1')[2]

#Output = 'value3'

OU (si vous voulez le dernier élément sans spécifier la clé)

my_dict['key1'][2]

#Output = 'value3'


0 commentaires

1
votes

Je préfère utiliser get ie my_dict.get('key1')[2]

Si vous utilisez my_dict['key1'][2] , vous obtiendrez une KeyError si key1 n'est pas présente dans my_dict

Exemple -

>>> d = {1:3,4:6}
>>> d.get(7) # No Error
>>> d[7] 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 7


0 commentaires