首页 > 解决方案 > 如何通过缺失值完成字典

问题描述

我想完成我的字典,目前看起来像这样:

dict={3023:2, 3024:3, 3025:2, 3027:1}

其中键是加 1 的连续数字,值是给定数字的出现次数。如您所见,例如(3026)缺少键,因为出现次数为0。通过缺少项来完成字典的最佳方法是什么?我想得到字典:

dict={3023:2, 3024:3, 3025:2,3026:0, 3027:1,3028:0}

标签: python

解决方案


如果您知道最大和最小数字,则可以使用:

>>> d = {3023:2, 3024:3, 3025:2, 3027:1}   # <-- initial dict
>>> a, b = 3023, 3028   # <-- min and max values
>>> d = {n: d.get(n, 0) for n in range(a, b + 1)}   # <-- new dict
>>> print(d)
{3023: 2, 3024: 3, 3025: 2, 3026: 0, 3027: 1, 3028: 0}

推荐阅读