小白的人工智能学习笔记--1·python的高级操作

  由于之前在学校学过python,算是刚刚达到了初级入门的水平,编程的经验可以说是小白一枚,想通过更深入的学习来提高自己的水平,由于人工智能是python的主要应用领域之一,更是近几年来行业的大势所趋,于是就萌生了自学人工智能的想法。在这里对学习过程中的问题和收获做一些记录。

参考资料:python3破冰人工智能:从入门到实战 / 黄海涛著


1、python高级操作

(1)lambda关键字

  在python中使用lambda关键字来创建匿名函数。在python中lambda函数只能使用纯表达式的形式。也就是说在lambda函数的定义体中不能赋值,也不能使用while和try等语句。

几条特点

  • lambda只是一个表达式,函数体比def简单的多。
  • lambd的主体是一个表达式,而非代码块,只能在lambda表达式中赋予有限的逻辑。
  • lambda函数拥有自己的命名空间,不能访问自有参数列表外或者全局命名空间的参数。
  • 虽然lambda函数只能写一行,却不等同于C或C++的内联函数,后者目的是调用小函数时不占用栈内存,从而提升运行效率。

lambd函数的语法形式为:lambda argument_list:expression
示例:

sum = lambda x, y: x + y
print(sum(3, 4))

输出结果为:7

(2)map

  map同样是python中的一个高级函数,它的形式为map(func,*iterables) 第一个参数func是一个函数的名字;第二个参数是一个序列(这里以列表为例)。map会将func中的的逻辑对序列中的所有元素执行。python3之前map的返回值是一个列表,而python3中返回一个迭代器(迭代器可以理解成可供遍历的对象,其结果不能直接作为数值输出)。
示例:

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
a = list(map(lambda x: x**2, num_list))
print(a)

输出结果为:[1, 4, 9, 16, 25, 36, 49, 64, 81]

当map涉及到不同长度列表的操作时,输出结果的长度将取决于长度最短的那个列表。
示例:

a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
c = [5, 6, 7]
ab = list(map(lambda x, y: x + y,a,b))
ac = list(map(lambda x, y: x + y,a,c))
print(ab)
print(ac)

输出结果为:[6, 8, 10, 12]
      [6, 8, 10]

(3)filter

  map同样是python中的一个高级函数,从它的名字就可以看出它的作用是过滤和筛选,它的形式为filter(function,iterable),是python用于过滤序列中的元素的函数。
示例:

num_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a = list(filter(lambda x: x % 2 == 0,num_list))
print(a)

输出结果为:[0, 2, 4, 6, 8]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值