您好我过去一周左右一直在做一些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()语句测试了它。我该如何解决?
答案 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