使用list在python中从头开始创建哈希函数

使用list在python中从头开始创建哈希函数,python,hash,Python,Hash,你好 我是python的初学者,如果有人帮助我用python编写一个哈希类来执行某些函数,我会非常有用。 我从你那里得到这个密码 仍然有一些iter()函数缺失,需要帮助我会问自己: 散列列表中有许多值时是什么样子的 回报应该是什么样子 哈希列表可以是链接实现时的列表列表。现在\uu iter\uuu(self)方法应该一个接一个地产生一个值。返回可以是包含两个值的列表 因此,这是一个遍历问题。首先介绍一些可以在python中实现的代码: my_list = [[['key4', 4]],

你好 我是python的初学者,如果有人帮助我用python编写一个哈希类来执行某些函数,我会非常有用。

我从你那里得到这个密码 仍然有一些iter()函数缺失,需要帮助

我会问自己:

  • 散列列表中有许多值时是什么样子的
  • 回报应该是什么样子
哈希列表可以是链接实现时的列表列表。现在
\uu iter\uuu(self)
方法应该一个接一个地产生一个值。返回可以是包含两个值的列表

因此,这是一个遍历问题。首先介绍一些可以在python中实现的代码:

my_list = [[['key4', 4]], None, [['key1', 1], ['key2', 2]], None, 
          [['key0', 0]], None, None, [['key3', 3]]]

def traverse(my_list=None):
    if isinstance(my_list, (list, tuple)):
        for value in my_list:
            for subvalue in traverse(value):
                yield subvalue
    else:
        yield my_list

print(list(traverse(my_list)))
但这并不能解决您的问题:您可能需要再添加两个条件以获得正确的终止条件:

  • 首先测试列表长度,然后
  • 测试my_列表中的值是否为列表,该值的第一个元素是否也是列表(向下遍历树)

我们不会为您编写函数,但我们可能会帮助您解释在实现函数时遇到的问题。但我们需要知道你有什么问题。在解决这个问题时,您不了解什么?在哈希类中循环时,它给出了一个错误“TypeError:“HashTable”对象不可编辑“谢谢……我将尝试这个概念