数据分析 day01(三)

2.3 数组的索引与切片

2.3.1 数组的索引
  1. 一维数组的索引
    一维数组的索引和列表的索引基本相同
    比如,列表的索引是根据下标索引,
    下标值为正的时候是从头开始数(下标从0开始)
    下标值为负的时候就是从尾部往前数(从-1开始)
    在这里插入图片描述
    创建一个包含10个元素的一维数组,元素值为[0,10)的随机整数
    取倒数第二个
    在这里插入图片描述
  1. 多维数组的索引
    回顾列表的索引
    列表的索引:要查询内部的某个数据,首先要找最外层的索引,然后一层层的向内找
    在这里插入图片描述
    创建一个3x4的二维列表,
    在这里插入图片描述
  1. ) 逐层查找
    在这里插入图片描述
  1. ) 多层索引:一个[ ]中用,将多个层的索引隔开,查找的时候,根据每一层取定位,最直接把定位到的数据取出
    在这里插入图片描述
    先查找的是第0维度的第2个元素,然后再找第一维度下的第1个元素
    在这里插入图片描述
  1. ) 多个索引:用一个列表来作为一个数组的索引,根据列表对应子元素取出,然后按照顺序放在一起
    在这里插入图片描述
    这个是找到第0维度下的元素,可重复索引元素
    在这里插入图片描述
    [拓展] 怎么索引多个第1维度下的元素呢?
    在这里插入图片描述
    怎么取到的?
    先取到第0维度下的第一,二个元素,然后再取第一维度下的第二个元素,就是17,4
    在这里插入图片描述
    如果要取第一维度下的不同元素呢?
    在这里插入图片描述
    取到的就是这两个
    在这里插入图片描述
2.3.2 数组的切片

首先这个是一个3x4的二维数组
在这里插入图片描述

对行进行切片(第0维度)

区间前闭后开,
在这里插入图片描述
再举个例子:取不到第二个元素,只取到前两个
在这里插入图片描述

  1. 按步长切片(联想列表)
    步长为1
    在这里插入图片描述
    步长为2
    在这里插入图片描述
    步长为3
    在这里插入图片描述

对列进行切片(第1维度)

从第1个元素(第二列)切到最后
在这里插入图片描述
从第2个元素切到第100个元素(这里最多就第3个),后面这个数字超过也不会报错,切到最后一个元素
在这里插入图片描述

既切行又切列

在这里插入图片描述
切的就是这个部分
在这里插入图片描述

还可以加上步长
在这里插入图片描述
这个取的就是这个部分
在这里插入图片描述
步长可以为1,也可以为-1,正好反过来取
在这里插入图片描述

拓展:对彩色图片进行切片

前面提到过,彩色图片是一个三维数组,第0个维度是高,第1个维度是高;
第2个维度是通道,所以切片不能对第2个维度切片,只能切第0,1维度
在这里插入图片描述
就是这张图片
在这里插入图片描述
j进行切片
在这里插入图片描述
这个位置,很唯美是吧
如果要将图片上下反转过来,将第0,1维度的步长取-1就行,这样就反过来取了
在这里插入图片描述
如果要左右翻转呢?,那么就第0维度不动,将第一维度步长设为-1就行
在这里插入图片描述
将图片弄扁,宽为原来的1/4,高为原来的1/2
宽的步长取4,高的步长取2就行了
在这里插入图片描述

练习
拼图(美女坐在老虎背上)

首先看一下这两张图片
在这里插入图片描述

在这里插入图片描述
所以,要在老虎的背上取出一块,将美女图片放在那一块上
在这里插入图片描述

首先确定老虎背上的区域位置和大小
在这里插入图片描述
然后将这一块赋值为0
在这里插入图片描述
如果赋值不了,在前面加上copy
在这里插入图片描述
为了图片好看一点,对上老虎的背,美女图片也裁剪一下,对应上老虎背上缺掉的那一块
在这里插入图片描述
最后将美女图片赋值给缺失的那一块,展示一下老虎图片
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值