zoukankan      html  css  js  c++  java
  • day18 Pyhton学习 内置函数最后七个

    1. enumerate  枚举函数

    for i in enumerate(['a','b','c'],1):
        print(i)
    #(1, 'a')(2, 'b')(3, 'c')
    goods_lst= [
        {'name':'电脑','price':1999},
        {'name':'鼠标','price':20},
        {'name':'美女','price':20},
    ]
    for index,dic in enumerate(goods_lst,1):
            print(index,dic['name'],dic['price'])
    #1 电脑 1999 2 鼠标 20 3 美女 20

    2. all参数iterable,只要有一个为假返回False

    print(all((1,2,3,True)))
    print(all((1,2,3,0,True)))
    print(all((1,2,3,True,[])))
    print(all((1,2,3,True,'')))
    #True,False,False,False

    3.any 参数iterable 只要有一个为真返回True

    print(any((1,2,3,True)))
    print(any((1,2,3,0,True)))
    print(any((1,2,3,True,[])))
    print(any(({},False,0,[],'')))
    #True,True,True,False

    4.zip 拉链函数 返回迭代器-节省内存

    a = (1,2,3,4)
    b = ('a','b','c')
    c = ['111','222']
    d = {'k1':'v1','k2':'v2'}
    ret = zip(a,b,c,d)
    print(ret)
    for i in ret:
        print(i)
    #(1, 'a', '111', 'k1')
    #(2, 'b', '222', 'k2')

    5. filter 筛选

    ret = filter(None,[1,2,3,0,False])  # 只保留真的
    print(ret)
    for i in ret:
        print(i)
    #1 2 3
    def func(i):
        return type(i) is not dict
    
    l = ['sjkdhf',[1,2,3],{},()]  # 去掉列表中的字典,用filter
    ret = filter(func,l)
    print(list(ret))
    #['sjkdhf', [1, 2, 3], ()]
    
    # filter 就像 带着if条件的列表推导式
    l = ['sjkdhf',[1,2,3],{},()]
    print([i for i in l if type(i) is not dict])
    #['sjkdhf', [1, 2, 3], ()]

    6.map  一个迭代器中的每一个元素都需要去做同一个操作并返回一个结果组成一个新列表的时候map来处理

    def func(i):
        return i*'*'
    
    ret = map(func,[1,2,3])
    print(ret)
    for i in ret:
        print(i)
    #结果
    *
    **
    ***
    range(10)#内部的每一个值的平方组成的新列表
    def func(num):
        return num**2
    ret = map(func,range(10))
    print(list(ret))
    #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

    7.sorted() 排序 根据key对应的函数的返回值的大小来排序

    由于必须要知道后面的值是谁 才能排出顺序,所以结果就是排序后的结果而不是可迭代的

    l = [-3,1,2]
    l.sort()
    #[-3, 1, 2]
    print(l)
    def func(n):
        return abs(n)
    l.sort(key = func)
    print(l)
    #[1, 2, -3]
    #sort在原列表上进行修改
    l = [1,-3,2]
    new_l = sorted(l)   # sorted 在不改变原列表的情况下 生成一个新列表
    print(l)#[1, -3, 2]
    print(new_l)#[-3, 1, 2]
    def func(n):
        return abs(n)
    ret = sorted(l,key = func)
    print(ret)#[1, 2, -3]
    # 面试重点
    # filter(func,iterable) map(func,iterable) sorted(iterable,key) max(iterable,key) min(iterable,key) zip
    # 常用的
    # range enumerate print input open 基础数据类型 bytes
  • 相关阅读:
    AngularJS中写一个包裹HTML元素的directive
    AngularJS中实现Model缓存
    控制台获取AngularJS某个元素的Scope
    体验jQuery和AngularJS的不同点以及AngularJS的迷人之处
    AngularJS中$interval的用法
    AngularJS中处理多个promise
    AngularJS中获取数据源的几种方式
    AngularJS中ui-router全攻略
    AnguarJS中链式的一种更合理写法
    AngularJS转换请求内容
  • 原文地址:https://www.cnblogs.com/pythonz/p/9937363.html
Copyright © 2011-2022 走看看