zip/enumerate/map函数的使用

zip/enumerate/map函数的使用

zip函数

zip函数将多个可迭代对象进行打包,如果可迭代对象的数量不一样,以最少的为准。zip解包也是一个zip类型,需要强制转换为列表或元组类型,强转后的元素为元组类型

例:

打包

# 打包成列表
li1 = ['a', 'b', 'c']
li2 = [1, 2, 3]
res = list(zip(li1, li2))

print(type(res))
print(res)


# 打包成字典
li1 = ['a', 'b', 'c']
li2 = [1, 2, 3]
res = dict(zip(li1, li2))

print(type(res))
print(res)

例2:

解包

# 解包列表
li1 = ['a', 'b', 'c']
li2 = [1, 2, 3]
res = list(zip(li1, li2))

print(type(res))
print(res)

print('下面的结果是解包'.center(50, '*'))

res2 = list(zip(*res))
print(type(res2))
print(type(res2[0]))        # 第一个元素
print(res2)

# 解包字典
li1 = ['a', 'b', 'c']
li2 = [1, 2, 3]
res = dict(zip(li1, li2))       # 打包成字典

print(type(res))
print(res)

print('下面的结果是解包'.center(50, '*'))

res2 = list(zip(*res.items()))       # 通过items(),将字典变成一个个键值对组成的元组,然后再装换成list
print(type(res2))
print(type(res2[0]))        # 第一个元素
print(res2)

enumerate函数

他可以将可迭代对象转换成一个enumerate对象,一般用于取下标,默认从0开始

语法:

enumerate(可迭代对象, 开始位置)

例:

li1 = ['a', 'b', 'c']
for key, val in enumerate(li1, 10):		# 默认从0开始,指定从 10 开始
    print(key, val)

map函数

遍历一个可迭代对象,将每一个元素传入一个函数进行处理

语法:

map(函数名, 可迭代对象)

例:

li = [3, 4, 9]


def func(x):
    return x ** 2


res = list(map(func, li))
print(res)

# 用匿名函数实现
li = [3, 4, 9]
res = list(map(lambda x: x ** 2, li))
print(res)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爬坡的蜗牛

你的鼓里是我创造最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值