zoukankan      html  css  js  c++  java
  • python基础:内置函数zip,map,filter

    一、zip

    zip,就是把俩list,合并到一起,如果想同时循环2个list的时候,可以用zip,会帮你轮流循环两个list
    比如:
    l1=[1,2,3,4,5]
    l2=['a','b','c','d','e']
    for a,b in zip(l1,l2):
      print(a,b)
    #得到的结果就是
    1 a
    2 b
    3 c
    4 d
    5 e

    如果两个list的长度不一致,则以长度小的为依据

    比如:
    l1=[1,2,3,4]
    l2=['a','b','c','d','e']
    for a,b in zip(l1,l2):
      print(a,b)
    #得到结果就是
    1 a
    2 b
    3 c
    4 d

    二、map

    循环调用函数

    def my(num):
        return str(num)
    lis = [1,2,3,4,5,6,7,8,9]
    res = list(map(my,lis))#map参数第一个是函数名,第二个是要循环的内容,返回结果是个map object地址,所以要用list强制转换下
    print(res)#最终会将lis中的内容循环调用my函数,res=['1','2','3','4','5','6','7','8','9']
    def my(num1,num2):
        return (num1,num2)
    lis = [1,2,3,4,5]
    lis1=['a','b','c','d']
    res = list(map(my,lis,lis1))#map参数第一个是函数名,剩下的是要循环的内容,函数有几个参数,就要写入几个变量,返回结果是个map object地址,所以要用list强制转换下
    print(res)#最终会将lis和lis1中的内容循环调用my函数,res=[(1,'a')(2,'b')(3,'c')(4,'d')]

    三、filter

    filter和map表面上看是一样的,都是循环调用函数,区别在于:filter是带有过滤性的,它会将要循环的内容代入函数后,结果为真的对应的内容返回

    def even(num):
        if num%2==0:
            return True
        return False
    lis = [1,2,3,4,5,6,7,8,9]
    res = filter(even,lis)
    print('filter..',list(res))  #filter只保留,返回为真的数据。将lis循环滴入even函数后,能够返回True的lis中的数据,会被打印出来,所以最终结果就是2,4,6,8
    #如果改程序用map的话,函数返回什么就会打印什么,最终结果是False,True,False,True.....
  • 相关阅读:
    6、javac命令详解
    5、main方法详解
    4、第一个JAVA程序(Hello World)
    3、eclipse 查看原始类出现The jar file rt.jar has no source attachment解决方法
    2、classpath、path、JAVA_HOME的作用
    1、配置JAVA的环境变量
    Jquery.getJSON的缓存问题的处理方法
    触发器
    JQuery 来获取数据c#中的JSON数据
    从ajax获取的数据无法通过Jquery选择器来调用事件
  • 原文地址:https://www.cnblogs.com/bendouyao/p/9047993.html
Copyright © 2011-2022 走看看