Pycharm:期望的类型'Integral',而不是'str'

 哈罗xeh_406 发布于 2023-01-12 13:36

我刚刚安装了PyCharm 3.4并获得了一些新的警告.不只是在这里,而是在很多地方.代码当然没问题.有人可以翻译PyCharm试图告诉我的内容以及如何沉默这些消息吗?

截图 更多...

1 个回答
  • 基于'more ...'截图,看起来像Pycharm可能正在解释map(),好像逗号周围的两个术语都是lambda的一部分,即lambda只返回一个2元组而不是处理它作为map()函数的两个参数.

    要尝试的事情:

    在地图中添加括号()

    寻找map()的重新定义本身可能会让Pycharm感到困惑

    编辑

    你激励我去了解Python和Pycharm的更多信息.:)

    看起来Pycharm使用列表理解比使用列表理解更快乐map().使用此示例数据:

    data = {
        'data': {
            'children': [
                {'data': {'url': 'http://1.com/', }, },
                {'data': {'url': 'http://2.com/', }, },
            ]
        },
    }
    

    如果你像你一样编写代码,那么你得到错误:

    items = map(lambda children: children['data'], data['data']['children'])
    for item in items:
        print item['url']  # Pycharm shows warning on 'url'
    

    但是如果你使用列表理解,那么Pycharm很高兴:

    items = [x['data'] for x in data['data']['children']]
    for item in items:
        print item['url']  # No warning from Pycharm
    

    两者的输出相同.

    map()无论如何,ISTR阅读列表理解比现在更受欢迎,所以也许Pycharm正朝这个方向推动我们?

    2023-01-12 13:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有