分块列表打印“0x05DAF8D0处的生成器对象块”而不是列表

时间:2018-04-26 16:19:29

标签: python list chunks

之前我使用过这段代码并且它很好但不知何故它现在打印“[生成器对象块在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)

1 个答案:

答案 0 :(得分:1)

您的print()来电正在打印出发电机。但是你想看看发电机产生了什么。而生成器是另一个列表的第一个元素。这样做是为了看看里面有什么。

print (list(list_of_lists[0]))

但请注意,迭代生成器会使用它。因此,在print()调用之后,不要指望内容仍然存在。