美文网首页
Python之并行遍历zip,遍历可迭代对象的内置函数map,f

Python之并行遍历zip,遍历可迭代对象的内置函数map,f

作者: SCOR_PIO | 来源:发表于2020-01-10 23:54 被阅读0次

    一、使用内置函数zip并行遍历

    zip()的目的是映射多个容器的相似索引,以便它们可以仅作为单个实体使用。

    ● 基础语法:zip(*iterators)

    ● 参数:iterators为可迭代的对象,例如list,string

    ● 返回值:返回单个迭代器对象,具有来自所有容器的映射值

    '''
    例如:
    有两个列表
    names = ['zhangsan','lisi','wangwu']
    ages = [17,18,19]
    zhangsan对应17 lisi对应18 wangwu对应19
    同时遍历这两个列表
    '''
    
    # 1、使用for in 循环可以实现
    names = ['zhangsan','lisi','wangwu']
    ages = [17,18,19]
    for i in range(3):
        print('name is %s,age is %i' % (names[i],ages[i]))
    
    '''
    name is zhangsan,age is 17
    name is lisi,age is 18
    name is wangwu,age is 19
    '''
    
    # 2、使用 zip进行并行遍历更方便
    for name,age in zip(names,ages):
        print('name is %s,age is %i' % (name,age))
    
    '''
    name is zhangsan,age is 17
    name is lisi,age is 18
    name is wangwu,age is 19
    '''
    

    二、遍历可迭代对象的内置函数map

    map()函数的主要作用是可以把一个方法依次执行在一个可迭代的序列上,比如List等,具体的信息如下:

    ● 基础语法:map(fun, iterable)

    ● 参数:fun是map传递给定可迭代序列的每个元素的函数。iterable是一个可以迭代的序列,序列中的每一个元素都可以执行fun

    ● 返回值:map object

    result = map(ord,'abcd')
    print(result) # <map object at 0x7f1c493fc0d0>
    print(list(result)) # [97, 98, 99, 100]
    
    result = map(str.upper,'abcd')
    print(tuple(result)) # 'A', 'B', 'C', 'D')
    

    三、遍历可迭代对象的内置函数filter

    filter()方法借助于一个函数来过滤给定的序列,该函数测试序列中的每个元素是否为真。

    ● 基础语法:filter(fun, iterable)

    ● 参数:fun测试iterable序列中的每个元素执行结果是否为True,iterable为被过滤的可迭代序列

    ● 返回值:可迭代的序列,包含元素对于fun的执行结果都为True

    result = filter(str.isalpha,'123abc')
    print(result) # <filter object at 0x7fd47f2045d0>
    print(list(result)) # ['a', 'b', 'c']
    
    result = filter(str.isalnum,'123*(^&abc')
    print(list(result)) # ['1', '2', '3', 'a', 'b', 'c']
    
    # filter示例
    def fun(values):
        Internal_value = ['i','o','b','c','d','y','n']
        if values in Internal_value:
            return True
        else:
            return False
    test_value = ['i','L','o','v','e','p','y','t','h','o','n']
    result = list(filter(fun,test_value))
    print(result) # ['i', 'o', 'y', 'o', 'n']
    

    相关文章

      网友评论

          本文标题:Python之并行遍历zip,遍历可迭代对象的内置函数map,f

          本文链接:https://www.haomeiwen.com/subject/duqvactx.html