关于python中enumerate和zip函数的用法及举例

关于python中enumerate和zip函数的用法及举例

关于enumerate函数:

enumerate函数可以同时返回列表或元组等可迭代对象的下标和内容,但实际上,enumerate函数实际返回的是一个enumerate类型的可迭代对象,下面是用法举例:

seq=[1,2,'3','hello world']
#传统方法迭代seq
i=0
for element in seq:
    print seq[i]
    i+=1
#使用enumerate函数迭代seq
for i,element in enumerate(seq):
    print i,element
print type(enumerate(seq))
结果是:

1
2
3
hello world
0 1
1 2
2 3
3 hello world
<type 'enumerate'>

关于zip函数:

其实,zip函数是一个非常有趣的函数,我们大家都知道zip是一个压缩软件的名字,而python里面的zip函数确实有压缩功能。zip函数可以接受一系列的可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后由这些tuple(元组)组成一个list(列表),故其返回值为list(列表),而如果传入的可迭代对象的长度不一致,则返回可迭代对象中最短的一个对象的长度,而其,通过zip(*list)可以将原打包的可迭代对向分开,详细见下面例子:

a=[1,2,3,4,5]
b=['a','b','c','d']
c=zip(a)
print type(c)
print c
c=zip(a,b)
print c
#在zip函数的括号里面加上*号,则是zip函数的逆操作
d=zip(*c)
print d

输出结果为:

<type 'list'>
[(1,), (2,), (3,), (4,), (5,)]
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
[(1, 2, 3, 4), ('a', 'b', 'c', 'd')]

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值