Python列表元素操作相关的2个函数和匿名函数

枫铃3年前 (2021-09-30)Python243

enumerate()函数:

遍历列表时,同时获取每个元素的索引号和对应的元素值:

l = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
for i, char in enumerate(l):    
    print('列表的第{}个元素是:{}'.format(i, char))

C:\ProgramData\Anaconda3\python.exe C:/Users/dwzhangguiling3/PycharmProjects/lect01/function_learn.py
列表的第0个元素是:a
列表的第1个元素是:b
列表的第2个元素是:c
列表的第3个元素是:d
列表的第4个元素是:e
列表的第5个元素是:f
列表的第6个元素是:g
列表的第7个元素是:h

Zip()函数

将两个列表聚合层一个zip类型数据

l1 = list(range(10)) 
l2 = list(range(100, 110))
print('列表1是:{}\n列表2是:{}\n,zip后的数据为:'.format(l1, l2))
l3 = zip(l1, l2) 
print(*l3)

C:\ProgramData\Anaconda3\python.exe

C:/Users/dwzhangguiling3/PycharmProjects/lect01/function_learn.py

列表1:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

列表2:[100, 101, 102, 103, 104, 105, 106, 107, 108, 109] ,

zip后的数据为:

(0, 100) (1, 101) (2, 102) (3, 103) (4, 104) (5, 105) (6, 106) (7, 107) (8, 108) (9, 109)

Process finished with exit code 0

lambda函数

add = lambda x, y : x+y
add(1,2)  # 结果为3

1、应用在函数式编程中

Python提供了很多函数式编程的特性,如:map、reduce、filter、sorted等这些函数都支持函数作为参数,lambda函数就可以应用在函数式编程中。如下:

# 需求:将列表中的元素按照绝对值大小进行升序排列
# 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
# 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
list1 = [3,5,-4,-1,0,-2,-6]
sorted(list1, key=lambda x: abs(x))

当然,也可以如下:

list1 = [3,5,-4,-1,0,-2,-6]
def get_abs(x):
    return abs(x)
sorted(list1,key=get_abs)

2、应用在闭包中

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def get_y(a,b):
     return lambda x:ax+b
y1 = get_y(1,1)
y1(1) # 结果为2

当然,也可以用常规函数实现闭包,如下:

def get_y(a,b):
    def func(x):
        return ax+b
    return func
y1 = get_y(1,1)
y1(1) # 结果为2

相关文章

利用python同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。