浅析python中5个带key的内置函数

作者:python学习者0 时间:2021-08-27 00:31:25 

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

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']
'''

来源:https://www.cnblogs.com/xxpythonxx/p/16506827.html

标签:python,key,内置函数
0
投稿

猜你喜欢

  • ASP名次排列函数

    2008-07-20 13:42:00
  • Python 的 f-string 可以连接字符串与数字的原因解析

    2023-08-21 15:34:41
  • Case和If哪个更好用?

    2009-10-28 18:25:00
  • ASP实现GB2312字符与区位码的相互转换

    2009-12-28 10:27:00
  • 详解Django框架中用户的登录和退出的实现

    2022-08-28 19:37:19
  • python常用函数random()函数详解

    2022-08-04 18:17:21
  • 再谈动态添加样式规则

    2009-09-02 13:10:00
  • JavaScript几种弹窗事件的使用

    2023-08-24 15:59:08
  • python中subprocess实例用法及知识点详解

    2022-12-03 00:27:39
  • 前后端分离开发模式初体验

    2009-06-24 11:44:00
  • ASP中如何判断字符串中是否包含字母和数字

    2009-07-10 13:12:00
  • 二十种Python代码游戏源代码分享

    2023-07-31 01:37:16
  • Python+Selenium+Webdriver实现自动执行微软奖励积分脚本

    2022-09-13 13:49:07
  • python 列表降维的实例讲解

    2023-08-28 16:44:54
  • 浅谈Python中带_的变量或函数命名

    2023-08-30 15:44:08
  • Google中秋logo被恶搞

    2007-09-25 15:55:00
  • Django rest framework如何自定义用户表

    2022-03-12 01:15:02
  • ASP使用wsImage组件给图片加水印代码

    2010-06-09 19:23:00
  • Python实现列表拼接和去重的三种方式

    2021-05-02 23:43:54
  • python实现的解析crontab配置文件代码

    2021-07-02 18:15:43
  • asp之家 网络编程 m.aspxhome.com