为什么我的 `zip()` 函数生成空列表?

为什么我的 `zip()` 函数生成空列表?

zip() 函数中的疑惑

在你的代码示例中,你使用 zip() 函数将三个列表中的元素配对,并期望得到三个包含配对元素的新列表。然而,你却发现出现了两个空列表。这究竟是怎么回事?

zip() 函数是 python 中一个用于合并多个可迭代对象中的元素的内置函数。它返回一个包含配对元素的迭代器,而不是列表。因此,当你尝试遍历 zip() 返回的结果时,你实际上是消耗了它。一旦你遍历完毕,迭代器便成为空,无法继续产生元素,导致你得到了两个空列表。

要解决这个问题,你可以使用 list() 函数将迭代器转换为列表。这将创建一个包含 zip() 返回的配对元素的列表,而不会消耗迭代器。代码修改如下:

zipped = list(zip(list1, list2, list3))
登录后复制

现在,zipped 将是一个包含配对元素列表的列表,而不是空列表。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容