我有一個列表queue和一個迭代器對象neighbors,我想將其元素附加到列表中。queue = [1]neighbor = T.neighbors(1) #neighbor is a <dict_keyiterator at 0x16843d03368>print(list(neighbor)) #Output: [2, 3]queue.extend([n for n in neighbor])print(queue)輸出:[1]預期輸出:[1, 2, 3]出了什么問題?
2 回答

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
neighbor當您在list構造函數中使用迭代器進行打印時,您已經耗盡了迭代器,因此它在下一行的列表理解中變為空。
將轉換后的列表存儲在一個變量中,以便您可以打印它并在列表推導中使用它:
queue = [1]
neighbor = T.neighbors(1) #neighbor is a <dict_keyiterator at 0x16843d03368>
neighbors = list(neighbor)
print(neighbors) #Output: [2, 3]
queue.extend([n for n in neighbors])
print(queue)
添加回答
舉報
0/150
提交
取消