我刚刚安装了PyCharm 3.4,并收到了一些新的警告。不仅在这里,而且在很多地方。代码当然可以。有人可以翻译PyCharm试图告诉我的内容以及如何使此消息静音吗?
more...
最佳答案
根据“更多...”屏幕截图,看起来Pycharm可能正在解释map(),好像逗号周围的两个术语都是lambda的一部分,即lambda只是返回一个2元组而不是对其进行处理作为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/