python中defaultdict的用法

python中defaultdict的用法

力扣501.二叉搜索树中的众数

题目链接力扣501.二叉搜索树中的众数

from collections import defaultdict

class Solution:
    def searchBST(self,cur,map):
        if not cur:
            return
        map[cur.val] += 1
        self.searchBST(cur.left,map)
        self.searchBST(cur.right,map)

    def findMode(self, root: Optional[TreeNode]) -> List[int]:
        map = defaultdict(int)
        result = []
        if not root:
            return result
        self.searchBST(root,map)
        max_value = max(map.values())
        for key,value in map.items():
            if value == max_value:
                result.append(key)
        return result

其中用到了defaultdict,下面来详细叙述defaultdict

什么是defaultdict

从名字中可以看出defaultdict也是一个dict,即键值对

defaultdict接受一个类型对象或函数对象,在取值时,如果不存在对应的key则返回对应的函数返回值或默认构造函数的实例对象:

from collections import defaultdict

dic_1 = defaultdict(int)
dic_2 = defaultdict(tuple)
dic_3 = defaultdict(list)
dic_4 = defaultdict(str)
dic_5 = defaultdict(set)
 
print(dic_1['a'])
print(dic_2['a'])
print(dic_3['a'])
print(dic_4['a'])
print(dic_5['a'])

输出结果如下:

0 #返回0
() #返回()
[] #返回[]
   #返回空字符串
set() #返回set()

items()方法

语法

dict.items()

实例

tinydict = {'小明':'13','小红':'12','小亮':'15'}

#遍历字典列表
for key,value in tinydict.items():
	print(key,value)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值