我有一个列表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
提交
取消