繁体   English   中英

Mypy:设置更新期间不兼容的类型错误

[英]Mypy: incompatible type error during set update

如果与新的元组使用更新Mypy返回一个错误add()

代码.py

adgroups_by_campaign_id: Dict[CampaignId, Set[str]] = defaultdict(set)
for customer_id, campaign_ids in campaigns_per_customer_id.items():
    adgroups = get_adgroups_in_campaings(ads_client, customer_id, campaign_ids, adgroup_names)
    for adgroup in adgroups:
        adgroups_by_campaign_id[CampaignId(adgroup['campaign_id'])].add(
            (adgroup['adgroup_name'], adgroup['adgroup_resource_name']) -> RETURN ERROR
        )

错误正文

 error: Argument 1 to "add" of "set" has incompatible type "Tuple[str, str]"; expected "str"

据我所知,向集合中添加新的连音是常见的做法。

add() 方法可以添加一个元组对象作为集合中的元素

为什么 mypy 认为这是不允许的?

adgroups_by_campaign_id被标记为Dict[CampaignId, Set[str]]意味着mypy将期望所有值都是包含字符串的集合,而不是字符串的元组。

Set[str]应该更改为Set[Tuple[str, str]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM