首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何阅读和理解Python中的“意外类型”问题?

如何阅读和理解Python中的“意外类型”问题?
EN

Stack Overflow用户
提问于 2020-04-22 19:09:44
回答 1查看 460关注 0票数 0

我尝试根据符号:|拆分字符串,并在:上进一步拆分其中的每个字符串,并将结果转换为字典,如下所示。

代码语言:javascript
运行
复制
column_data = 'component_id:numeric(15,0)|name:character varying(30)|operation_num:numeric(15,0)|component_item:numeric(15,0)|item_number:character varying(800)|last_update_date:timestamp without time zone|last_updated_by:numeric(15,0)|creation_date:timestamp without time zone|created_by:numeric(15,0)|item_num:numeric|component_quantity:numeric|component_yield_factor:numeric|component_remarks:character varying(240)|effectivity_date:date|change_notice:character varying(10)'

column_names = dict(item.split(":") for item in gp_column_data.split("|"))

但我在IDE上看到一条警告,上面写着:

代码语言:javascript
运行
复制
Unexpected type(s): (Generator[List[str], Any, None]) Possible types: (Mapping) (Iterable[Tuple[Any, Any]]) 

如下图所示:

同样的逻辑在Python shell上运行得很好,但是当我将逻辑放到IDE上时,这行代码会突出显示。gp_column_data是我作为方法参数接收字符串。

代码语言:javascript
运行
复制
def fix_source_columns(gp_column_data: str, precision_columns:str):
    column_names = dict(item.split(":") for item in gp_column_data.split("|"))

我是Python的新手,经常在IDE上看到这些消息。有没有人能告诉我这是一条错误消息?如果是这样,我如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2020-04-22 19:24:16

集成开发环境足够智能地警告您,如果item不包含: (如果有多个:,则输出2个以上),则item可能会输出一个带有单个元素的iterable。在这些情况下,dict将失败,因为它需要一个所有元素都恰好有2个元素的迭代器(这正是警告中的Iterable[Tuple[Any, Any]]的意思)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61363655

复制
相关文章

相似问题

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