Как я могу найти длину словаря, который состоит из списка и снова словарь - PullRequest
0 голосов
/ 30 апреля 2020

Найти длину заданного списка словаря

x= {
    'output':[
        {
            'frame':{'enc':1,'time':2}, 'eth':{'di':1,'ghg':5}
        },
    ]
}

Как найти длину 'x', используя Python 3.6.0 len(x) не работает Я уже пробовал.
Может кто-нибудь предложить другой способ?

Ответы [ 3 ]

2 голосов
/ 30 апреля 2020

len (x) работает отлично. В чем конкретно проблема?

>>> x = {'output':[{'frame':{'enc':1,'time':2}, 'eth':{'di':1,'ghg':5}},]}
>>> len(x)
1
>>> len(x.keys())
1
>>> len(x.values())
1
>>> x.values()
dict_values([[{'frame': {'enc': 1, 'time': 2}, 'eth': {'di': 1, 'ghg': 5}}]])
>>> len(x['output'])
1
>>> x['output']
[{'frame': {'enc': 1, 'time': 2}, 'eth': {'di': 1, 'ghg': 5}}]
>>>
2 голосов
/ 30 апреля 2020

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

печать длины x отлично работает для меня.

x= {'output':[{'frame':{'enc':1,'time':2}, 'eth':{'di':1,'ghg':5}},]}
print(len(x))

Я получаю вывод как 1

Объяснение: -

вы определяете словарь с именем x, который представляет собой словарь, в котором вы пытаетесь получить длину x, так как он имеет только одну пару ключ / значение, то есть 'output', поэтому он будет укажите длину 1.

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

x= {'output':[{'frame':{'enc':1,'time':2}, 'eth':{'di':1,'ghg':5}},]}
print(len(x['output'][0]))

вы будете получите 2 в качестве вывода.

если вам нужны дополнительные объяснения, вы можете прокомментировать то же самое ниже.

Удачное кодирование: -)

0 голосов
/ 04 мая 2020

n = сумма ([len (v) +1 для k, v в x.items ()]) print ((n))

это сработало для меня. После пытаясь выяснить, что я на самом деле хотел получить в ответ от len (x), вышеприведенное решение пригодилось.

[Я взял решение по ссылке ниже]

здесь мы делаем Получить количество всех ключей в словаре словарей в Python

...