Python内置函数zip map filter的使用

枫铃3年前 (2021-07-11)Python226

并行遍历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'>

zip在python3中是一个可迭代对象,我们可以将其包含在list调用中以例一次性显示所有结果

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

搭配for循环使用,可以运行并行迭代

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]

通过zip将keys 和 val列表中的元素串联起来,再把zip过的键/值列表传给内置的dict构造函数

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
D3=dict(zip(keys,val))
print(D3)
{'spam': 1, 'eggs': 3, 'toast': 5}

map

遍历序列,对序列中的每个元素进行操作,最终获取新的序列,格式:map(func,list)
将list中每个元素作用于函数func

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
map_obj=map(abs,(-10,0,9))
print(list(map_obj))
[10, 0, 9]

filter
对序列中的元素进行筛选,最终获取符合条件的序列,常和lambda函数一起使用,格式filter(func,list)
将list中的元素依次作用于func,返回满足条件的元素

filter_obj=filter(lambda x:x<3 ,L1)
print(list(filter_obj))
[1, 2]

相关文章

python中*args和**kargs得用法总结

前言: 一个很简单的函数说起: def Jiafa(x, y): z = x + y retur...

超详细 1小时学会Python输入和输出!

超详细 1小时学会Python输入和输出!

1.Hello world 安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写...

Python字符串必须知道的7个函数

Python字符串函数数...

Python线程join和setDaemon

看一下线程的setDae...

Python 关于super 的 用法和原理(挖坑)

一、前言 Python 面向对象中有继承这个概念,初学时感觉很牛逼,里面也有个super类,经常见到,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。