首页 » InfoTech »

当zip对象作为list函数的参数时...

2018年11月2日 / 2次阅读
Python

打开支付宝首页,搜索“529018372”,即可领取红包!可重复领。

特色图片

zip和list都是python builtin的两个常用函数。zip函数生成一个zip对象,将其作为list函数的参数时,可以通过这个zip对象来得到对应list对象。但是:

当zip对象作为list函数的参数时,有一个坑,如下代码:

>>> j = zip([1,2,3], [4,5,6])
>>> list(j)
[(1, 4), (2, 5), (3, 6)]
>>> list(j)
[]
>>> id(j)
6515088

坑在这里:当我第2次调用list(j)的时候,返回回空!

查看了几个github上的python代码,大家都已经知道如何规避这个坑了,在第1次调用生成list对象的时候,就要用个变量将其接住。

>>> k = zip([1,2,3],[4,5,6])
>>> kk = list(k)
>>> kk
[(1, 4), (2, 5), (3, 6)]
>>> kk
[(1, 4), (2, 5), (3, 6)]
>>> kk[0]
(1, 4)
>>> list(k)
[]
>>> kk
[(1, 4), (2, 5), (3, 6)]

后续代码使用kk就行了,或者直接k = list(k),变量本身不变,这样可能更好。

本文链接:http://www.maixj.net/ict/zip-list-19263
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

《当zip对象作为list函数的参数时...》有1条评论

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.

  • 麦新杰

    Python2可能不是这样,我使用的是Python3.6 [ ]


前一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目

AD

ppdai

©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top