0
こんにちは私は過去1週間ほどHashSetの質問をしてきました。最後の質問では、私のHashSetのiterメソッドを作成するように求められています。動作するようには思えないし、それは私にエラーを与えるHashSet __iter__ Python 3
class HashSet:
def __init__(self, capacity=10):
self.table = [None] * capacity
def add(self, item):
h = hash(item)
index = h % len(self.table)
if self.table[index] == None:
self.table[index] = LinkedList()
if item not in self.table[index]:
self.table[index].add(item)
def __iter__(self):
table = []
ptr = None
for i in range(0, len(self.table)):
if self.table[i]:
ptr = self.table[i].head
while ptr != None:
table.append(ptr.item)
ptr = ptr.next
return sorted(table)
:ここに私のコードは例外TypeError:ITER()型「リスト」の非反復子を返しました。私は何を返さなければならないのですか?
入力:7 20 30 40 50 60 70 80 90
所望の出力:テーブルVAR内部[20, 30, 40, 50, 60, 70, 80, 90]
値が、私は、印刷()文であることをテストした正しいです。どうすれば修正できますか?
おかげで、(ITERを知らなかった)でも存在していた:D –