首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >嵌套defaultdict的类型提示

嵌套defaultdict的类型提示
EN

Stack Overflow用户
提问于 2022-09-13 13:30:47
回答 1查看 157关注 0票数 -1

defaultdict(lambda: defaultdict(set))编写类型提示的正确方法是什么

我使用Python3.10.5和mypy 0.971,并发现mypy返回一个错误,因为var = defaultdict(lambda: defaultdict(set))没有类型提示。

Premises

第一个defaultdict的所有键和第二个defaultdict的str.

  • Values都是
  • ,第一个默认的键都是defaultdict。第二个defaultdict的值是set。(这可能很明显。)

示例代码

代码语言:javascript
运行
复制
from collections import defaultdict
var = defaultdict(lambda: defaultdict(set))

输出

代码语言:javascript
运行
复制
test.py:2: error: Need type annotation for "var"
EN

Stack Overflow用户

回答已采纳

发布于 2022-09-13 13:42:06

Python3.9开始,您可以使用defaultdictset本身作为注释:

代码语言:javascript
运行
复制
var: defaultdict[str, defaultdict[str, set]] = defaultdict(lambda: defaultdict(set))

对于早期的Python版本,输入模块有一个特殊的DefaultDict类型:

代码语言:javascript
运行
复制
from collections import defaultdict
from typing import DefaultDict, Set

var: DefaultDict[str, DefaultDict[str, Set]] = defaultdict(lambda: defaultdict(set))
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73703889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档