You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用zip时出现两种不同结果的原因探究

为什么第二次调用list(c)返回空列表?

Python里zip()函数返回的是迭代器对象,不是普通列表。迭代器有个关键特性:只能被遍历一次。

  • 第一次执行list(c)时,会把迭代器里的所有元素逐个取出,转换成列表。这时候迭代器内部的指针已经走到了末尾,没有剩余元素了。
  • 第二次再执行list(c),这个迭代器已经被“耗尽”,没有元素可以再取出来,所以返回空列表[]。

变量c本身并没有被修改或者销毁,它还是原来那个迭代器对象,只是它内部已经没有可迭代的元素了。

内容的提问来源于stack exchange,提问作者Mohammad Salah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 07:05:25