python 向量元素判断_python 基础复习(一)

一、python基础

1. 列表推导式和匿名函数

在生成一个数字序列的时候,在Python中可以如下写出:

b5ad32f0af80973abd887a0b51e84043.png

但是这样的方式过于复杂,因此可以利用列表推导式简化写法。

(1)[ * for i in * ] 这个就是列表推导式写法, 第一个* 表示映射函数,函数中的 i 为后面的 i 指代的内容,第二个 * 表示迭代对象

  • 所以上述生成数字序列的过程又可以用以下简化写法

388b8bcf8055d24601ed2482a7609d15.png

(2)定义一个函数的过程,在代码量庞大的时候显得累赘,不利于代码的可读性,所以当一个函数只在此过程使用,其他地方不用调用的时候,可以使用匿名函数,省去定义的过程,既简洁,又可读,且节省时间。

9b3dc386c91dbe78c34e7cb7c89b899a.png

(3)对于上述的这种列表推导式的匿名函数映射,Python中提供了map函数来完成,它返回的是一个map对象,需要通过list转为列表:

fe363333268da5fee3680793b02e4e33.png

注意:对于多个输入值的函数映射,可以通过追加迭代对象实现:

ed13c068303028483378e88300422118.png

【补充】

① 列表表达式还支持多层嵌套,如下面的例子中第一个for为外层循环,第二个为内层循环:

ff26790f8dc8b404cb9f3113cf3d67fe.png

上述列表推导式中,第一个for为外层循环,第二个for为内层循环,由此可以得出列表推导式中,for循环越早出现,就是越外层的循环。我们也可以将列表推导式重新写成嵌套循环的格式,对比看一下。

c4ca5e300bf33e27c2037b93ed961976.png

由此类推,3层嵌套循环4层嵌套循环的列表推导式写法:

· 3层嵌套循环

0b4ca0340600b59218907f5434916b28.png

· 4层嵌套循环

375db6802e0c2be3a62e8f5fff564a73.png

语法糖:带有if选择的条件赋值,其形式为value=a if condition else b

c17c6bc065280ef8df8636908fcb6364.png

条件赋值结合列表推导式生成列表

5425e3ede86242b4f51541f2e871ebbb.png

2. zip对象与enumerate方法

2.1 zip函数

zip函数能够把多个可迭代对象打包成一个元组构成的可迭代对象,它返回了一个zip对象,通过tuple,list可以得到相应的打包结果:

dee059639071cf9f1bb271be014b34df.png

2.2 enumerate函数

enumerate是一种特殊的打包,它可以在迭代时绑定迭代元素的遍历序号:

de2a4cf862d07d6c4c40f23e3e00e3b4.png

当需要对两个列表建立字典映射时,可以利用zip对象:

175634efdd0091e46576f26f1278621e.png

dict函数将zip中的第一个列表元素作为字典的键,第二个列表元素作为字典的值

2.3 解压缩函数

ddc77a40688481c5c5560bde3b789b86.png

二、numpy基础

1. np数组的构造

(1) 基于array构造

b7077ba60c52307cce3043efc11ddc1d.png

(2)等差序列:np.linspace,np.arange

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

在指定的间隔内返回均匀间隔的数字。返回num均匀分布的样本,在[start, stop]。

fb2e26812616ae7fc453c26248676338.png

np.arange([start, ]stop, [step, ]dtype=None)

  • start:可忽略不写,默认从0开始;起始值
  • stop:结束值;生成的元素不包括结束值
  • step:可忽略不写,默认步长为1&#x
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值