python中的enumerate,zip,map和filter函数

本文深入探讨了Python中enumerate, zip及map函数的功能与用法,通过实例解析了这些函数如何处理序列,包括如何生成带有下标的元素二元组,如何组合多个序列的对应元素,以及如何对序列元素应用函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'''
enumerate(seq[,start=0])
zip(seq1,seq2[,seq3])
map(function,seq1[,seq2...])
'''
'''三者的共同点:对序列进行操作,返回一个迭代对象
不同点:从函数的参数可以看出来,enumerate接受一个序列和可选的start参数,在默认的情况下,输出有序列元素下标和元素本身组成的二元组迭代对象,zip接受多个序列,将对应下标的元素组合成为一个多元组,map()接受一个函数和一个或多个序列,返回对序列元素按函数操作的结果'''

for i in enumerate([1,2,3,4]):
	print(i)

'''(0, 1)
(1, 2)
(2, 3)
(3, 4)'''

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

'''(2, 1)
(3, 2)
(4, 3)
(5, 4)'''

for i in zip([1,2,3],[4,5,6]):
	print(i)

'''(1, 4)
(2, 5)
(3, 6)'''

#zip函数的迭代结果以最短的那个序列为准

def x(x):
	return x**2

for i in map(x,[1,2,3,4]):
	print(i)

'''
1
4
9
16'''

#map()函数可以接受多个序列参数,同时function参数的参数个数应该与序列参数个数保持一致。

# fliter函数,接受一个函数和一个序列
# 对序列中的每个元素应用该函数
# 如果返回值为True,则保留该元素,如果返回值为False,则丢弃/过滤掉该函数

for each in filter(lambda x:x % 2 ==0,[1,2,3]):
    print (each)

'''
2
'''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值