Python 使用「;在;类中字典的运算符

Python 使用「;在;类中字典的运算符,python,Python,我在名为“Graph”的类中有一个uuu contains uuu方法,它有一个实例“dict”,这是一个字典 def __contains__(self,i): return i in self.dict 现在,我想使用“in”循环“dict”键。我使用: 问题是:为什么我从I获取dict的值而不是键?您需要覆盖python __iter__ 方法 def __iter__(self): for x in self.dict.keys(): yield x \uuu

我在名为“Graph”的类中有一个uuu contains uuu方法,它有一个实例“dict”,这是一个字典

def __contains__(self,i):
    return i in self.dict
现在,我想使用“in”循环“dict”键。我使用:


问题是:为什么我从I获取dict的值而不是键?

您需要覆盖python

__iter__
方法

def __iter__(self):
  for x in self.dict.keys():
     yield x

\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
中,运算符与中的不同(即使它包含
中的单词

迭代要么使用(从
0
开始传递整数,直到引发
索引器),要么通过使用


您可能有一个生成值而不是键的
\uu getitem\uuuuuuuu
\uuuuu iter\uuuuuuuuu
方法。

您有
图形
类的代码吗?谢谢!我知道现在有什么问题了。
def __iter__(self):
  for x in self.dict.keys():
     yield x