分块列表打印 "generator object chunks at 0x05DAF8D0" 而不是列表

chunking list prints "generator object chunks at 0x05DAF8D0" instead of the list

我以前用过这段代码,它很好,但不知何故,它现在打印“[0x05DAF8D0 处的生成器对象块]”,而不是按块打印列表。我不知道我触摸了什么使代码失败。

 fruit = ['apple', 'pear', 'banana']

 def chunks(l, n):
     for i in range(0, len(l), n):
         yield l[i:i+n]

 list_of_lists = [(chunks(fruit, 2))]

 print(list_of_lists)

您的 print() 调用正在打印生成器。但是您想查看生成器生成的内容。生成器是另一个列表的第一个元素。执行此操作以查看其中的内容。

print (list(list_of_lists[0]))

但请注意,遍历生成器会用完它。所以不要指望内容在 print() 调用后仍然存在。