无法从我的哈希表访问密钥 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)
所以我有一个哈希 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)