鱼C论坛

 找回密码
 立即注册
查看: 2549|回复: 6

[已解决]list,dict 和zip混用时的转换问题。

[复制链接]
发表于 2016-7-27 16:45:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> b1=zip(['one','two','three'],[1,2,3])
>>> b2=list(b1)
>>> b1
<zip object at 0x00000000037C3408>
>>> b2
[('one', 1), ('two', 2), ('three', 3)]
>>> for i in b1:
        print(i)

       
>>>

为何我利用zip方法,并赋值给b1,之后把b1转换成列表,赋值给b2,那么b2中的内容怎么变空呢?
利用同样的方法,将b1转换成字典,也是变空了!!
最佳答案
2016-7-27 17:05:06
type(b1 )
b1是跌代器,就一次过,一次性用品。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-27 17:05:06 | 显示全部楼层    本楼为最佳答案   
type(b1 )
b1是跌代器,就一次过,一次性用品。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-7-27 21:14:26 | 显示全部楼层
SixPy 发表于 2016-7-27 17:05
type(b1 )
b1是跌代器,就一次过,一次性用品。

还真是这样呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-27 21:40:01 | 显示全部楼层
SixPy 发表于 2016-7-27 17:05
type(b1 )
b1是跌代器,就一次过,一次性用品。

soga
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-27 21:56:02 | 显示全部楼层
SixPy 发表于 2016-7-27 17:05
type(b1 )
b1是跌代器,就一次过,一次性用品。

再问下,这里的用是怎样的用呢?包括哪些操作?比如我用dict的内建函数,字典就可以一直用吧,或者我直接
for i in dict:
    print(i)
这样的dict也可以继续用啊。所以具体是什么情况下就变成一次性呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-28 04:00:55 | 显示全部楼层
SixPy 发表于 2016-7-27 17:05
type(b1 )
b1是跌代器,就一次过,一次性用品。

迭代器为什么是一次性用品?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-28 07:25:42 | 显示全部楼层
本帖最后由 SixPy 于 2016-7-28 07:27 编辑
shuofxz 发表于 2016-7-28 04:00
迭代器为什么是一次性用品?

  1. >>> help(zip)
  2. Help on class zip in module builtins:

  3. class zip(object)
  4. |  zip(iter1 [,iter2 [...]]) --> zip object
  5. |  
  6. |  Return a zip object whose .__next__() method returns a tuple where
  7. |  the i-th element comes from the i-th iterable argument.  The .__next__()
  8. |  method continues until the shortest iterable in the argument sequence
  9. |  is exhausted and then it raises StopIteration.
复制代码


The .__next__() method continues until the shortest iterable in the argument sequence is exhausted and then it raises StopIteration.

.__next__()  方法持续 到 参数序列中 最短的可迭代对象 被耗尽,并抛出 停止迭代 异常。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-2 06:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表