Je suis assez nouveau dans tout cela, alors c’est peut-être une question de noobie .. mais je cherche à trouver la longueur des valeurs du dictionnaire ... mais je ne sais pas comment cela peut être fait.
Donc, par exemple,
d = {'key':['hello', 'brave', 'morning', 'sunset', 'metaphysics']}
Je me demandais s'il y avait un moyen de trouver le len ou nombre d'éléments de la valeur du dictionnaire.
Merci
Sûr. Dans ce cas, vous feriez simplement:
length_key = len(d['key']) # length of the list stored at `'key'` ...
Il est difficile de dire pourquoi vous le souhaitez réellement, mais il serait peut-être utile de créer un autre dict qui mappe les clés sur la longueur des valeurs:
length_dict = {key: len(value) for key, value in d.items()}
length_key = length_dict['key'] # length of the list stored at `'key'` ...
Faisons quelques expériences pour voir comment nous pourrions obtenir/interpréter la longueur de différentes valeurs dict/array dans un dict.
créer notre test dict, voir liste et compréhensions dict :
>>> my_dict = {x:[i for i in range(x)] for x in range(4)}
>>> my_dict
{0: [], 1: [0], 2: [0, 1], 3: [0, 1, 2]}
Obtenir la longueur de la valeur d'une clé spécifique:
>>> my_dict[3]
[0, 1, 2]
>>> len(my_dict[3])
3
Obtenez un dict des longueurs des valeurs de chaque clé:
>>> key_to_value_lengths = {k:len(v) for k, v in my_dict.items()}
{0: 0, 1: 1, 2: 2, 3: 3}
>>> key_to_value_lengths[2]
2
Obtenez la somme des longueurs de toutes les valeurs du dict:
>>> [len(x) for x in my_dict.values()]
[0, 1, 2, 3]
>>> sum([len(x) for x in my_dict.values()])
6
Pour trouver toutes les longueurs des valeurs dans un dictionnaire, vous pouvez procéder comme suit:
lengths = [len(v) for v in d.values()]