gpt4 book ai didi

python - Pycharm:预期类型 'Integral' ,取而代之的是 'str'

转载 作者:太空狗 更新时间:2023-10-29 18:27:54 27 4
gpt4 key购买 nike

我刚刚安装了 PyCharm 3.4 并收到了一些新警告。不仅在这里,而且在许多地方。代码当然没问题。有人可以翻译 PyCharm 试图告诉我的内容以及如何使这些消息静音吗?

screenshot more...

最佳答案

根据“更多...”屏幕截图,看起来 Pycharm 可能会将 map() 解释为好像逗号周围的两个术语都是 lambda 的一部分,即 lambda 只返回一个二元组将其视为 map() 函数的两个参数。

要尝试的事情:

  • 在 map() 中添加括号
  • 寻找可能会混淆 Pycharm 的 map() 内置本身的重新定义

编辑

您激励我去学习更多关于 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

两者的输出相同。

ISTR 读到列表理解无论如何现在都比 map() 更受欢迎,所以也许 Pycharm 正在插入我们朝这个方向发展?

关于python - Pycharm:预期类型 'Integral' ,取而代之的是 'str',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23962434/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com