zoukankan      html  css  js  c++  java
  • 10-9 重要的内置函数(zip、filter、map、sorted)

    reverse----reversed

    l = [1,2,3,4,5,6]
    l.reverse() #不会保留原列表
    print(l)
    
    l =[1,2,3,4,5,6]
    l2 = reversed(l)    #保留原列表,返回一个反向的迭代器
    print(l2)   #结果:<list_reverseiterator object at 0x00497350>
    

    format:< ---表示左对齐,>表示右对齐,^表示居中

    print(format('nice','<20'))
    print(format('nice','>20'))
    print(format('nice','^20'))
    

    结果:

    nice
    nice
    nice

    重要内置函数

      all

        接收可迭代对象,全部元素都为真结果才为True,有一个元素为假,结果都为False
    print(all(['a','',123]))#False
    print(all(['a',123]))#True
    print(all(['a',0,123]))#False

      any

        接收可迭代对象,全部元素都为假结果才为False,有一个元素为真,结果都为True

    print(any(['a','',123]))#False
    print(any(['a',123]))#True
    print(any(['a',0,123]))#False

      zip()

         拉链方法:返回一个迭代器

    l1 = [1,2,3]
    l2 = ['a','b','c','d']
    l3 = ('*','**','***')
    d = {'k1':1,'k2':2}
    for i in zip(l1,l2,l3,d):
        print(i)
    
    结果:
    (1, 'a', '*', 'k1')
    (2, 'b', '**', 'k2')

      filter()

         filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

         http://www.cnblogs.com/Eva-J/articles/7266192.html

    def is_odd(x):
        return x % 2 == 1
    list = filter(is_odd,[1,3,4,5,6,7,8,9,12])
    list_odd =[]
    print(list) #返回一个迭代器
    for i in list:
        list_odd.append(i)
    print(list_odd)     #结果[1, 3, 5, 7, 9]
    
    例子:请利用filter()过滤出1~100中平方根是整数的数
    from math import sqrt
    def zheng(x):
        if sqrt(x) % 1==0:
            return x
    list = filter(zheng,range(1,101))
    list_odd =[]
    for i in list:
        list_odd.append(i)
    print(list_odd)     #结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

      map()

        接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
    result = map(abs,[1,-4,3])
    print(result)
    for i in result:
        print(i)
    总结:
    filter
    1.执行了filter之后的结果,集合中的数<=执行之前的数
    2.filter只管筛选,不会改变原来的值
    map
    执行前后元素个数不变
    值可能发生变化

      sorted

        http://www.cnblogs.com/Eva-J/articles/7265992.html
    参数说明:
    iterable:是可迭代类型;
    key:传入一个函数名,函数的参数是可迭代类型中的每一项,根据函数的返回值大小排序;
    reverse:排序规则. reverse = True 降序 或者 reverse = False 升序,默认升序。
    返回值:有序列表
    l1 = [1,3,5,-2,-4,-6]
    l1.sort()       #在原列表的基础上进行排序
    print(l1)   #[-6, -4, -2, 1, 3, 5]
    
    l1.sort(key=abs)       #在原列表的基础上进行排序
    print(l1)       #[1, -2, 3, -4, 5, -6]
    #sorted()执行后,原列表依然存在
    print(sorted(l1))       #[-6, -4, -2, 1, 3, 5]
    print(sorted(l1,reverse=True))       #[5, 3, 1, -2, -4, -6]
    

      

    #例子:按照长度排序
    l = [' ',[1,2],'hello world','hfj']
    new_l = sorted(l,key=len)
    print(new_l)        #[' ', [1, 2], 'hfj', 'hello world']
    

      

  • 相关阅读:
    d3.js--04(enter和exit)
    d3.js--03(增删改查)
    d3.js--02(data和datum原理)
    css文件和js文件后面带一个问号----2015-1103
    json_decode()和json_encode()区别----2015-0929
    随记--更新于20150925
    个人火狐插件汇总--20150924
    『jQuery』.html(),.text()和.val()的概述及使用--2015-08-11
    矩阵求导
    傅里叶变换
  • 原文地址:https://www.cnblogs.com/Cheryol/p/9758390.html
Copyright © 2011-2022 走看看