并行遍历zip
zip会取得一个或多个序理为参数,然后返回元组的列表,将这些序列中的并排的元素配成对。
1
2
3
4
|
L1 = [ 1 , 2 , 3 , 4 ] L2 = [ 5 , 6 , 7 , 8 ] L3 = zip (L1,L2) print (L3, type (L3)) |
1
|
< zip object at 0x7feb81b17f08 > < class 'zip' > |
zip在python3中是一个可迭代对象,我们可以将其包含在list调用中以例一次性显示所有结果
1
|
list (L3) |
1
|
[( 1 , 5 ), ( 2 , 6 ), ( 3 , 7 ), ( 4 , 8 )] |
搭配for循环使用,可以运行并行迭代
1
2
|
for (x,y) in zip (L1,L2): print (x,y, '--' ,x + y) |
1
2
3
4
|
1 5 - - 6 2 6 - - 8 3 7 - - 10 4 8 - - 12 |
使用zip构造字典
1
2
|
keys = [ 'spam' , 'eggs' , 'toast' ] val = [ 1 , 3 , 5 ] |
通过zip将keys 和 val列表中的元素串联起来,再把zip过的键/值列表传给内置的dict构造函数
1
2
|
D3 = dict ( zip (keys,val)) print (D3) |
1
|
{ 'spam' : 1 , 'eggs' : 3 , 'toast' : 5 } |
map
遍历序列,对序列中的每个元素进行操作,最终获取新的序列,格式:map(func,list)
将list中每个元素作用于函数func
1
2
|
map_obj = map ( abs ,( - 10 , 0 , 9 )) print ( list (map_obj)) |
1
|
[ 10 , 0 , 9 ] |
filter
对序列中的元素进行筛选,最终获取符合条件的序列,常和lambda函数一起使用,格式filter(func,list)
将list中的元素依次作用于func,返回满足条件的元素
1
2
|
filter_obj = filter ( lambda x:x< 3 ,L1) print ( list (filter_obj)) |
1
|
[ 1 , 2 ] |
到此这篇关于Python内置函数zip map filter的使用详解的文章就介绍到这了,更多相关Python内置函数zip map filter内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/xxpythonxx/archive/2021/03/31/14602219.html