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:{}}
对于上面的内容,我想要得到:
键 - 大小
- 0 - 3
- 1 - 1
- 2 - 2
- 3 - 0
- 4 - 0
2 个回答
0
为了达到你想要的输出效果,我们需要对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
1
你可以用一种叫做字典推导的方法,创建一个新的字典,这个字典的键是原来字典的键,而值是对应项的长度,像这样:
>>> {num: len(d[num]) for num in d}
{0: 3, 1: 3, 2: 2, 3: 0, 4: 0}
在这里,我们遍历字典的键,然后用num: len(d[num])
,把原来的键作为新的键,把对应值的长度作为新的值。