首页 > 解决方案 > 分块列表打印“0x05DAF8D0 处的生成器对象块”而不是列表

问题描述

我之前使用过这段代码,它很好,但不知何故它现在打印“[generator object chunks at 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)

标签: pythonlistchunks

解决方案


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

print (list(list_of_lists[0]))

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


推荐阅读