zoukankan      html  css  js  c++  java
  • 内置函数

    TOC

    一、什么是内置函数

    python解释中内置的函数

    • range()
    • print()
    • len()
    • max()
    • min()
    • sorted()
    • map()
    • filter()
    • ....

    二、内置函数的用法

    2.1 max()求最大值

    max求最大值
    max内部会将list1中的元素通过for循环取出每一个值,并且进行判断

    语法:max(可迭代对象)

    list1 = [1, 3, 5, 65, 6, 7]
    print(max(list1))
    
    >>> 65

    2.1.1 max()取最大值

    获取可迭代对象中最大值

    dict1 = {
        'tank': 1000,
        'egon': 500,
        'sean': 200,
        'jason': 500
    }
    
    print(max(dict1, key=lambda x: dict1[x]))

    2.1.2 min()取最小值

    获取可迭代对象中最小值

    dict1 = {
        'tank': 1000,
        'egon': 500,
        'sean': 200,
        'jason': 500
    }
    
    print(min(dict1, key=lambda x: dict1[x]))

    2.1.3 sorted() 排序

    对可迭代对象中的数据进行排序

    参数:

    • reverse默认为False,升序
    • reverse为True,降序

    求工资最低的

    dict1 = {
        'tank': 100,
        'egon': 500,
        'sean': 200,
        'jason': 50
    }
    
    new_list = sorted(dict1, key=lambda x: dict1[x], reverse=True)
    print(new_list)
    

    2.1.4 map()映射

    语法:
    map(函数地址,可迭代对象) 得到的返回值是一个map对象

    map会将可迭代对象中的每一个值进行修改,然后映射一个map对象中,可以再将map对象转成列表/元组(注意:只能转一次,因为它是一个可迭代对象,当你定义第一次列表的时候,就已经的相当于将值取出来了)

    name_list = ['engon', 'jason', 'sean', '大饼', 'tank']
    map_obj = map(lambda name: name if name == 'tank' else name + '爱吃生蚝', name_list)
    print(map_obj)
    print(list(map_obj))
    print(tuple(map_obj))
    
    
    
    >>> <map object at 0x000001B7506E5CC8>
    >>> ['engon爱吃生蚝', 'jason爱吃生蚝', 'sean爱吃生蚝', '大饼爱吃生蚝', 'tank']
    >>> ()  # 列表已经将值取完了,所以tuple为空
    Process finished with exit code 0

    2.1.5 reduce() 合并

    每次从可迭代对象中获取两个值进行合并

    语法

    reduce(func, sequence, initial=None)

    初始值(initial): 执行reduce函数时,都是从初始值开始合并

    # 需要导入functools
    # 需求:求1-100的和
    # 普通方法
    int = 0
    for i in range(1, 101):
        int += i
    
    print(int)
    
    # 利用reduce求值
    from functools import reduce
    res = reduce(lambda x, y: x+y, range(1, 101), 0)
    print(res)# 需要导入functools
    # 需求:求1-100的和
    # 普通方法
    int = 0
    for i in range(1, 101):
        int += i
    
    print(int)
    
    # 利用reduce求值
    from functools import reduce
    res = reduce(lambda x, y: x+y, range(1, 101), 0)
    print(res)
    
    > 5050
    
    
    # 初始值为1000
    from functools import reduce
    res = reduce(lambda x, y: x+y, range(1, 101), 0)
    print(res)
    
    > 6050

    2.1.6 filter() 过滤

    filter会将函数中返回的结果为True 对应 的参数值 “过滤出来”

    # 将后缀为_dsb的名字 “过滤出来”
    name_list = ['egon_dsb', 'jason_dsb', 'sean_dsb', '大饼_dsb', 'tank']
    
    res = filter(lambda name: name.endswith('_dsb'), name_list)
    print(list(res))
  • 相关阅读:
    性能测试总结(一)测试流程
    WSDL入门
    Python中的while循环和for循环
    python中的变量
    吴恩达《机器学习》章节2单变量线性回归
    吴恩达《机器学习》章节1绪论:初识机器学习
    新式类多继承的查找顺序
    python2x和python3x的一些区别
    类方法和静态方法
    @property的使用
  • 原文地址:https://www.cnblogs.com/cnhyk/p/11890808.html
Copyright © 2011-2022 走看看