python 字典值内容大小

-1 投票
2 回答
758 浏览
提问于 2025-04-28 21:15

我想要找出字典中每个键对应的值的大小。

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]),把原来的键作为新的键,把对应值的长度作为新的值。

撰写回答