HashSet __iter__ Python 3

时间:2017-11-07 10:20:51

标签: python hash hashtable hashset

您好我过去一周左右一直在做一些HashSet问题。最后一个问题要求我为我的HashSet创建 iter 方法。这是我的代码:

7 20 30 40 50 60 70 80 90

它似乎不起作用,它给了我一个错误:TypeError:iter()返回类型为'list'的非迭代器。我应该回归什么?

输入:[20, 30, 40, 50, 60, 70, 80, 90]
期望的输出:{{1}}

表var中的值是正确的我用print()语句测试了它。我该如何解决?

1 个答案:

答案 0 :(得分:1)

您应该使用yield from返回迭代器或委托迭代:

def __iter__(self):
    ...
    return iter(sorted(table)) # creates an iterator from the list

或者

def __iter__(self):
    ...
    yield from sorted(table) # Python 3's generator delegation syntax