序列类型可用的内建函数:enumerate(),zip()

enumerate():

用法:

  • 接收一个可迭代对象作为参数,返回一个enumerate对象。
  • enumerate多用于for循环中计数用他可以获取索引值。
  • enumerate在字典中是枚举,列举的意思

话不多说来看看例子:

a = [1,2,3,4,5]
for i,q in enumerate(a)
    print(i,a)
#结果为0,1 1,2 2,3 3,4 4,5 5,6
#其中i为索引q为值

那如果我们想让索引值从一开始而不是从零开始呢?或者是说从自己制定的位置开始呢?

给enumertae()函数加参数 start=索引:

a = [1,2,3,4,5]
for i q in enumerate(a,start = 1):
    print(i,q)

#1,1 2,2 3,3 4,4 5,5 6,6
#也可以不用加start直接添加索引值就可以

zip():

用法:用于可迭代的对象作为参数将对象中对应的元素打包成一个元组返回对象

用列表生成zip对象:

a = [1,2,3]
b = [4,5,6]
c = [6,7,8]
d = [9,10,11,12]
zipped = zip(a,b)
print(zipped)   #返回值为对象<zip object at 0x7f429b0e1288>

for i in zipped:
    print(i)
#(1,4) (2,5) (3,6)

#两个列表可以的话三个和多个也是可以的:
zippen = zip(a,b,c)
for i in zippen:
    print(i)
#(1,4,6) (2,5,7) (3,6,8)

那如果出现列表中元素个数不相同呢?
zippes = zip(a,d)
for i in zippes:
    print(i)
#(1,9) (2,10) (3,11)
#当两列表元素个数元素不相同时返回的是元组个数和最小的列表元素个数相同

二维矩阵的转换:给zip后的对象加上*以后在进行zip函数可以返回二维矩阵式:

a = [1,2,3]
b = [4,5,6]
zipped = zip(a,b)
a1,a2 = zip(*zipped)
print(a1,a2)
#返回的值为:(1,2,3) (4,5,6)

zip相反可以理解为解压,返回二维矩阵式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值