Я хочу найти размер значений, связанных с ключом в словаре.python размер содержимого значения словаря
dict = {0:({0,1,0},{0,2,1},{0,4,2}),1:{1,2,4},2:({2,3,2},{2,3,4}),3:{},4:{}}
Для выше, я хочу:
Key - Размер
- 0 - 3
- 1 - 1
- 2 - 2
- 3 - 0
- 4 - 0
Я хочу найти размер значений, связанных с ключом в словаре.python размер содержимого значения словаря
dict = {0:({0,1,0},{0,2,1},{0,4,2}),1:{1,2,4},2:({2,3,2},{2,3,4}),3:{},4:{}}
Для выше, я хочу:
Key - Размер
Вы можете построить новый словарь с реальными ключами и длиной элементов, соответствующих им, с словарем понимания, как этого
>>> {num: len(d[num]) for num in d}
{0: 3, 1: 3, 2: 2, 3: 0, 4: 0}
Здесь мы перебирать ключи словаря и то с num: len(d[num])
мы используем тот же ключ, что и новый ключ, и длину значения, соответствующего ключу, в качестве нового значения.
Или сохранить взгляд вверх каждый раз, когда: '{ k: len (v) для k, v в d.items()} ' –
нет, дважды для каждого значения, но некоторые. – ch3ka
Ну, вы хватаете ключ, а затем выполняете поиск, чтобы получить значения. поэтому более эффективно использовать '.items()' при построении 'dict' вместо того, чтобы искать каждый ключ, чтобы получить значение –
Чтобы соответствовать вашим желаемым результатам, мы должны specialcase set
:
>>> print('\n'.join("{}-{}".format(key, 1 if isinstance(val, set) else len(val)) for key, val in dct.items()))
0-3
1-1
2-2
3-0
4-0
'для к в myDict: печать (к, длина (myDict [к]))' – inspectorG4dget