Как найти длину словарных значений

Я довольно новичок в этом, так что это может быть вопрос noobie .. но я ищу, чтобы найти длину словарных значений … но я не знаю, как это можно сделать.

Так, например,

d = {'key':['hello', 'brave', 'morning', 'sunset', 'metaphysics']} 

Мне было интересно, есть ли способ найти len или количество элементов значения словаря.

благодаря

Конечно. В этом случае вы просто выполните:

 length_key = len(d['key']) # length of the list stored at `'key'` ... 

Трудно сказать, почему вы на самом деле этого хотите, но, возможно, было бы полезно создать другой dict, который отображает ключи в длину значений:

 length_dict = {key: len(value) for key, value in d.items()} length_key = length_dict['key'] # length of the list stored at `'key'` ... 

Чтобы найти все длины значений в словаре, вы можете сделать это:

 lengths = [len(v) for v in d.values()] 

Давайте немного экспериментируем, чтобы увидеть, как мы можем получить / интерпретировать длину различных значений dict / array в 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]} 

Получите длину значения определенного ключа:

 >>> my_dict[3] [0, 1, 2] >>> len(my_dict[3]) 3 

Получите диктовку значений значений каждого ключа:

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

Получите сумму длин всех значений в dict:

 >>> [len(x) for x in my_dict.values()] [0, 1, 2, 3] >>> sum([len(x) for x in my_dict.values()]) 6