python integral_Pycharm:应为“Integral”类型,而应为“str”

博客讨论了PyCharm在处理map()函数时可能出现的警告,特别是当使用lambda表达式时。作者建议使用列表理解作为替代,因为PyCharm对此表示偏好且两者输出相同。示例代码展示了如何通过列表理解避免警告,同时保持代码功能不变。
摘要由CSDN通过智能技术生成

根据“more…”屏幕截图,Pycharm可能正在解释map(),好像逗号周围的两个词都是lambda的一部分,即lambda只返回一个2元组,而不是将其作为map()函数的两个参数。

要尝试的事情:在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()更受欢迎,所以也许Pycharm正在推动我们朝这个方向前进?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值