Python学习之匿名函数(lambda)及map()函数、sort()、sorted()方法

匿名函数

1、Lambda函数表达式专门用来创建一些简单的函数,它是函数创建的另外一种方式。

语法: lambda 参数列表【a,b,c….】:返回值

示例如下:

l = [1,2,3,4,5,6,7,8,9,10]
print((lambda a,b : a + b)(10,20))   #写法一

#写法二:

fn1 = lambda a,b:a*b
print(fn1(5,10))



#求列表中3的倍数,相比高阶函数调用更节省资源(匿名函数用完即销毁)
r = filter(lambda i : i % 3 ==0,l)

print(list(r))

执行结果如下:

30

50

[3, 6, 9]

 

2、map()函数

map()函数可以对可迭代对象中所有的元素做指定操作,然后将其添加到一个新的对象返回

示例如下:

l = [1,2,3,4,5,6,7,8,9,10]

r = map(lambda i : i + 1,l)

  print(list(r))

执行结果如下:

[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

 

*匿名函数一般都是作为参数使用,其他地方一般不用。

 

3、sort()

该方法用来对列表当中的元素进行排序

Sort()方法是直接默认比较列表中元素的大小

key需要一个函数作为参数

示例如下:

l = ['bb','aaa','c','fff','ddddddd']

l.sort()

  print(l)

 

执行结果如下:

['aaa', 'bb', 'c', 'ddddddd', 'fff']

以下按列表中字符长度排序:

l = ['bb','aaa','c','fff','ddddddd']

l.sort(key=len)

  print(l)

执行结果如下:

['c', 'bb', 'aaa', 'fff', 'ddddddd']

列表中内容数据转换成int排序,示例如下       :

l = [2,3,'1',3,'5','4']

l.sort(key=int)

  print(l)

执行结果如下:

['1', 2, 3, 3, '4', '5']

 

4、sorted()

sorted()返回值 返回一个新的列表

示例如下:

l = [2,3,'1',3,'5','4']

  print(sorted(l,key=int))

  print('排序前',l)

执行结果如下:

['1', 2, 3, 3, '4', '5']

排序前 [2, 3, '1', 3, '5', '4']

 

发布了16 篇原创文章 · 获赞 3 · 访问量 2242

猜你喜欢

转载自blog.csdn.net/OthersOnlyMe/article/details/101487459