Pycharm 未解析的属性引用';钥匙';对于类';dict';

Pycharm 未解析的属性引用';钥匙';对于类';dict';,pycharm,Pycharm,Pycharm在第5行突出显示“.keys()”,并针对此说明性代码给出以下警告: 1 def testfunc(): 2 mydic = {} 3 for x in range(5): 4 mydic[x] = str(x) 5 elems = set(mydic.keys()) Python解释器:来自anaconda的python2.7。Pycharm v2017.3 有人能帮我理解为什么我会收到这个警告吗?一切正常 截图: 根据上面

Pycharm在第5行突出显示“.keys()”,并针对此说明性代码给出以下警告:

1  def testfunc():
2      mydic = {}
3      for x in range(5):
4          mydic[x] = str(x)
5      elems = set(mydic.keys())
Python解释器:来自anaconda的python2.7。Pycharm v2017.3

有人能帮我理解为什么我会收到这个警告吗?一切正常

截图:


根据上面用户2235698的评论和我的验证,这是因为pycharm版本有缺陷。请更新您的pycharm。

我在pycharm 2019.3中也有此错误。问题是我使用的virtualenv没有被排除在外


更多详细信息:

我无法复制:。就算这不是蟒蛇。我还在python2 shell中运行了代码。完全没有关系,但是您可以使用
set(mydict)
而不是
set(mydict.keys())
。更好的是,您可以使用
mydict.viewkeys()
,这是一个字典键的视图,可以像一个集合一样工作(实例化和具体化一个全新的集合对象时具有恒定的时间/空间复杂性),例如
({'a':1,'b':2,'c':3})。viewkeys()&{'a','c','d'}
->
set(['a','c'])
。如果您只需要使用dict的键进行成员资格测试,则view对象具有集合的性能特征。@user2235698我可以在PyCharm 2017中看到这个问题。3@TheWanderer请尝试更新到PyCharm 2017.3.3我正在使用2019.1,不幸的是,我也遇到了同样的问题。