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

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

Итак, например,

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

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

Спасибо

Ответ 1

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

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'` ...

Ответ 2

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

Ответ 3

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

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

Ответ 4

d={1:'a',2:'b'}
sum=0
for i in range(0,len(d),1):
   sum=sum+1
i=i+1
print i

ВЫХОД = 2