无法从我的哈希表访问密钥 python

Can't access the key from my hashtable python

所以我有一个哈希 table class 可以正常运行,现在我想定义另一个函数,假设将采用 hash_table 的参数并打印出每个键我的哈希 table 其中

def to_print(hash_table):
    for a in hash_table:
            if a is not None:
                    print(a)

有人告诉我我需要一个迭代器,所以我定义了一个迭代器函数,如下所示:

def __iter__(self):
    for item in self.array:
            if item is not None:
                    (key, value)=item
                    return key    

但是,我仍然无法读取哈希中的键 table.Error 发生在我的行 'for a in hash_table:' 对于迭代器,如果我将 'return key' 更改为 'print key',它确实打印出每个键。而且我没有定义 next 因为我觉得我不需要它(?)

谁能告诉我问题出在哪里,也许还有一些提示?提前致谢。

例如。我的散列 table 由 <'apple',6>, <'orange', 7> 组成,我的输出应该打印出 apple 和 orange.

__iter__ 必须 return 迭代器,尝试做这样的事情:

def __iter__(self):
    return (item[0] for item in self.array if item is not None)