zoukankan      html  css  js  c++  java
  • python基础教程:5个带key的python内置函数

    1.max取最大值函数

    max() 方法返回给定参数的最大值,参数可以为序列。

    lis = [1,2,3,-4]
    print(max(lis)) #返回lis列表中的最大值
    '''结果:
    3
    '''
    
    print(max(lis,key=abs)) #key参数指向绝对值函数,返回的结果是-4
    

    2.min取最小值函数

    min() 方法返回给定参数的最小值,参数可以为序列。

    lis = [-1,0,1,2]
    print(min(lis)) #返回lis列表中的最小值
    '''结果:
    -1
    '''
    

    3.filter过滤函数

    filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象。

    该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回True 的元素放到新列表中。

    语法格式:filter(function, iterable)

    实例1

    def is_odd(x):
        return x % 2 == 1
    print(list(filter(is_odd,[1,2,3,4,5,6,7,8,9]))) 
    #python3中不使用list强转数据类型的话,filter返回的是迭代器
    '''结果:
    [1, 3, 5, 7, 9]
    '''
    

    实例2

    s = 'jason lv'
    iterator = filter(lambda x : x !='a',s)
    s1 = ''
    for i in iterator:
        s1 += str(i)
    print(s1)
    '''结果:
    json lv
    '''
    

    4.map序列映射函数

    map() 会根据提供的函数对指定序列做映射。

    第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回一个迭代器对象。

    语法格式:map(function, iterable, ...)

    实例1

    Python学习交流群:778463939
    
    def pow2(x):
        return x * x
    
    lis = [1,2,3,4,5,6]
    print(list(map(pow2,lis)))
    '''结果:
    [1, 4, 9, 16, 25, 36]
    '''
    

    实例2

    lis = [1,2,3,4,5,6]
    print(list(map(lambda x : x *10 if x >3 else x / 2,lis)))
    '''结果:
    [0.5, 1.0, 1.5, 40, 50, 60]
    '''
    

    5.sorted序列排序函数

    Sort函数是list列表中的函数,而sorted可以对list或者iterator进行排序。

    语法格式:sorted(iterable[, cmp[, key[, reverse]]])

    参数说明:

    (1) cmp参数

    cmp接受一个函数,拿整形举例,形式为:

    def f(a, b):
    	return a - b
    

    如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了

    (2)key参数

    key也是接受一个函数,不同的是,这个函数只接受一个元素, 形式如下

    def f(a):
    	return len(a)
    

    key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序

    (3)reverse参数

    接受False或者True表示是否逆序

    语法格式:sorted(iterable[, cmp[, key[, reverse]]])

    实例1

    lis = [3,2,1,4,5,6]
    print(list(sorted(lis,reverse=True)))
    '''结果
    [6, 5, 4, 3, 2, 1]
    '''
    
    print(list(sorted(lis)))    #默认不指定reverse参数时,顺序是正序
    '''结果
    [1, 2, 3, 4, 5, 6]
    '''
    

    实例2

    lis = ['adf ee','zcv','qwer','a s s w']
    print(list(sorted(lis,key=len)))
    '''结果:
    ['zcv', 'qwer', 'adf ee', 'a s s w']
    '''
    
  • 相关阅读:
    第七章第五题(打印不同的教)(Print distinct numbers)
    第七章第四题(分析成绩)(Analyze scores)
    第七章第三题(计算数字的出现次数)(Count occurrence of numbers)
    第七章第二题(倒置输入的数)(Reverse the numbers entered)
    第七章第一题(指定等级)(Assign grades)
    第六章第三十九题(几何:点的位置)(Geometry: point position)
    第六章第三十八题(生成随机字符)(Generate random characters)
    Java提示错误: 找不到或无法加载主类
    第六章第三十七题(格式化整数)(Format an integer)
    第六章第三十六题(几何:正多边形的面积)(Geometry: area of a regular polygon)
  • 原文地址:https://www.cnblogs.com/djdjdj123/p/14524823.html
Copyright © 2011-2022 走看看