实例+解释如下(表格):关键是要明白python中数组的下标体系。一套从左往右,一套从右往左。

 1 import numpy as np
2 import sys
3
4 def main():
5 A=np.array([1,2,3,4,5,6,7,8,9,0])
6 B=A.copy()
7 print A
8 print 'same as print A,',A[:]
9 print 'same as print A,',A[::1]
10 print 'reverse A,',A[::-1]
11 print 'print all elements with 2 interval,',A[::2]
12 print 'print elements from the 4th element with 2 interval,',A[3::2]
13 print 'print elements from the last 4th element with 2 interval,',A[-3::2]
14 print 'print elements from the 2nd to 5th element with 2 interval,',A[1:4:2]
15 print 'reverse print all elements with 2 interval,',A[::-2]
16 print 'reverse print elements from the 4th element with 2 interval,',A[3::-2]
17 print 'reverse print elements from the last 4th element with 2 interval,',A[-3::-2]
18 #print A[a:b:c]: a and b determine range of slide. c determine the interval and direction (forth or reverse)
19 print A[:-3:-1]
20 print A[:3:1]
21 print A[:3:-1]
22 C=A[::-1]
23 C[0]=10
24 print 'A is also changed as how does c change,',A
25 B[9]=0
26 print 'A will not be affected when B change,',A
27 print 'array slide from second element to the last one,',A[1:]
28 print 'array slide from last second element to the first one,',A[:-1]
29
30
31
32 if __name__ == "__main__":
33 main()
A=np.array([1,2,3,4,5,6,7,8,9,0]) 1 2 3 4 5 6 7 8 9 0
下标系一Index(Left to Right)
下标系二Index(Right to Left) -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
A[a:b:c] a和b   确定:切片操作的范围(from a to b, exclude b.), C 确定具体切片的pace和方向(例如:1表示Left to Right,pace=1. -1表示Right to   Left,pace=1.)。
实例:A[:3:1] output: 1,2,3.   注:Index 3处对应的数组值4。1表示从左往右,步的大小是1。所以输出1,2,3
实例:A[:-3:-1] output:0,9   注:Index -3处对应的数组值8。-1表示从右往左,步的大小是1。所以输出0,9
实例:A[:3:-1] output:0,9,8,7,6,5   注:Index 3处对应的数组值4。-1表示从右往左,步的大小是1。所以输出0,9,8,7,6,5
实例:A[:-3:1]

output:1,2,3,4,5,6,7   注:Index -3处对应的数组值8。1表示从左往右,步的大小是1。所以输出1,2,3,4,5,6,7

实例:A[-3::-1]

output:8,7,6,5,4,3,2,1   注:Index -3处对应的数组值8。-1表示从右往左,步的大小是1。所以输出8,7,6,5,4,3,2,1

Numpy 数组的切片操作的更多相关文章

  1. Numpy数组对象的操作-索引机制、切片和迭代方法

    前几篇博文我写了数组创建和数据运算,现在我们就来看一下数组对象的操作方法.使用索引和切片的方法选择元素,还有如何数组的迭代方法. 一.索引机制 1.一维数组 In [1]: a = np.arange ...

  2. Numpy入门(二):Numpy数组索引切片和运算

    在Numpy中建立了数组或者矩阵后,需要访问数组里的成员,改变元素,并对数组进行切分和计算. 索引和切片 Numpy数组的访问模式和python中的list相似,在多维的数组中使用, 进行区分: 在p ...

  3. Numpy数组的基本运算操作

    一.算术运算符 In [3]: a = np.arange(0,5) Out[3]array([0, 1, 2, 3, 4]) In [4]: a+4 Out[4]: array([4, 5, 6, ...

  4. Numpy入门 - 数组切片操作

    本节主要演示数组的切片操作,数组的切片操作有两种形式:更改原数组的切片操作和不更改原数组的切片操作. 一.更改原数组的切片操作 import numpy as np arr = np.array([1 ...

  5. Numpy 笔记: 多维数组的切片(slicing)和索引(indexing)【转】

    目录 切片(slicing)操作 索引(indexing) 操作 最简单的情况 获取多个元素 切片和索引的同异 切片(slicing)操作 Numpy 中多维数组的切片操作与 Python 中 lis ...

  6. Numpy数组基本操作(数组索引,数组切片以及数组的形状,数组的拼接与分裂)

    一:数组的属性 每个数组都有它的属性,可分为:ndim(数组的维度),shape(数组每个维度的大小),size(数组的总大小),dtype(数组数据的类型) 二:数组索引 和python列表一样,N ...

  7. Python数据分析之numpy数组全解析

    1 什么是numpy numpy是一个在Python中做科学计算的基础库,重在数值计算,也是大部分Python科学计算库的基础库,多用于大型.多维数据上执行数值计算. 在NumPy 中,最重要的对象是 ...

  8. 21、numpy数组模块

    一.numpy简介 numpy官方文档:https://docs.scipy.org/doc/numpy/reference/?v=20190307135750 numpy是Python的一种开源的数 ...

  9. Numpy 数组操作

    Numpy 数组操作 Numpy 中包含了一些函数用于处理数组,大概可分为以下几类: 修改数组形状 翻转数组 修改数组维度 连接数组 分割数组 数组元素的添加与删除 修改数组形状 函数 描述 resh ...

随机推荐

  1. 2018.09.22 atcoder Snuke's Coloring 2(线段树+单调栈)

    传送门 就是给出一个矩形,上面有一些点,让你找出一个周长最大的矩形,满足没有一个点在矩形中. 这个题很有意思. 考虑到答案一定会穿过中线. 于是我们可以把点分到中线两边. 先想想暴力如何解决. 显然就 ...

  2. 2018.07.04 BZOJ 2823: AHOI2012信号塔(最小圆覆盖)

    2823: [AHOI2012]信号塔 Time Limit: 10 Sec Memory Limit: 128 MB Description 在野外训练中,为了确保每位参加集训的成员安全,实时的掌握 ...

  3. 微信第三方平台解密报错:Illegal key size

    今天在交接别人代码的时候遇到的,微信第三方平台解密报的错误,原因: 如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size ...

  4. ZOJ2481 Unique Ascending Array 2017-04-18 23:08 33人阅读 评论(0) 收藏

    Unique Ascending Array Time Limit: 2 Seconds      Memory Limit: 65536 KB Given an array of integers ...

  5. POJ1511来回最短路

    POJ1511 问你从1到其它点得所有最短路之和  与  其他点到1得所有最短路之和 得总和 思路很明确就是两次最短路,翻转一次地图就好了 一开始就是两次spfa之间处理好数据得更新管理就好 vect ...

  6. nodejs 获取文件的编码方式

    使用nodejs获取文件夹内文件的编码方式:使用jschardet模块. 下面的代码还有问题,没有添加结束的语句,没有判断应该在哪执行res.send(). res.send()不能放在forEach ...

  7. 建立多人协作git仓库/git 仓库权限控制(SSH)

    转载文章请保留出处  http://blog.csdn.net/defeattroy/article/details/13775499 git仓库是多人协作使用的,可以基于很多种协议,例如http.g ...

  8. FreeNas FTP配置

    FTP服务器与客户端 因为拥有强大WebGUI管理界面,在FreeNAS中配置FTP服务变得非常简单.如果你是第一次接触FTP这一概念,那么首先要明白两个核心的概念. FTP服务器:你可以把它想象成一 ...

  9. jwt的ASP.NET MVC 身份验证

    Json Web Token(jwt)      一种不错的身份验证及授权方案,与 Session 相反,Jwt 将用户信息存放在 Token 的 payload 字段保存在客户端,通过 RSA 加密 ...

  10. wpf expender 展开动画

    非原创,网上下载的,觉得还可以,记录一下以便以后查看学习 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2 ...