• Python内置函数zip map filter的使用


    Python内置函数zip map filter的使用

    并行遍历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构造函数

    D3=dict(zip(keys,val))
    print(D3)
    
    {'spam': 1, 'eggs': 3, 'toast': 5}
    

    map

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

    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]
  • 相关阅读:
    POJ 3281 /// 最大流
    POJ Evacuation /// 二分图最大匹配
    POJ 3041 /// 二分图匹配
    Codeforces Round #526 D
    Codeforces Round #526 C
    2018ICPC焦作 F. Honeycomb /// BFS
    2018ICPC焦作 D-Keiichi Tsuchiya the Drift King /// 几何
    Codeforces Round #525 E
    哈理工赛 H-小乐乐学数学 /// 筛法得素数表+树状数组
    Codeforces Round #525 D
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/13094408.html
Copyright © 2020-2023  润新知