Python内置函数zip、map与filter详解及实战示例

远山来客
远山来客
发布时间:2026-10-14| 5人浏览过
原创

本文深入解析Python中zip、map和filter三个核心内置函数的用法。通过具体代码示例,展示如何利用zip实现多序列并行遍历与字典构建,使用map对序列元素进行统一映射处理,以及借助filter结合lambda表达式筛选符合条件的数据。内容涵盖Python3中zip对象的迭代特性及实际编程技巧,帮助开发者高效处理序列数据。

zip函数:并行遍历与字典构建

并行遍历zip

zip函数接收一个或多个序列作为参数,返回一个由元组组成的迭代器,将各个序列中位置对应的元素配对组合。


L1=[1,2,3,4]
L2=[5,6,7,8]
L3=zip(L1,L2)
print(L3,type(L3))

<zip object at 0x7feb81b17f08> <class 'zip'>

在Python 3中,zip返回的是一个可迭代对象(zip object),并非直接生成列表。若需一次性查看所有配对结果,可将其传入list()函数进行转换。


list(L3)

[(1, 5), (2, 6), (3, 7), (4, 8)]

结合for循环使用zip,能够高效地实现多个序列的并行迭代操作。


for (x,y) in zip(L1,L2):
  print(x,y,'--',x+y)

1 5 -- 6
2 6 -- 8
3 7 -- 10
4 8 -- 12

使用zip构造字典


keys=['spam','eggs','toast']
val=[1,3,5]

通过将keys列表和val列表中的元素通过zip串联成键值对,再将这些键值对传递给内置的dict构造函数,即可快速生成字典。


D3=dict(zip(keys,val))
print(D3)

{'spam': 1, 'eggs': 3, 'toast': 5}

map与filter函数:序列映射与筛选

map

map函数用于遍历序列,对序列中的每个元素执行指定操作,最终返回一个新的序列。其基本格式为map(func, list),即将list中的每个元素依次作用于函数func。


map_obj=map(abs,(-10,0,9))
print(list(map_obj))

[10, 0, 9]

filter

filter函数用于对序列中的元素进行条件筛选,最终返回满足条件的元素组成的新序列。它常与lambda匿名函数配合使用,格式为filter(func, list),即依次将list中的元素作用于func,仅返回使func返回True的元素。


filter_obj=filter(lambda x:x<3 ,L1)
print(list(filter_obj))

[1, 2]

到此这篇关于Python内置函数zip map filter的使用详解的文章就介绍到这了,更多相关Python内置函数zip map filter内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。