Python中ndarray数组切片问题a[-n -x:-y]

先看看如下代码:

>>a=np.arange(10)>>a array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])>>a[-7] array([3, 4, 5, 6, 7, 8, 9])>>a[-7 -1:-1] array([2, 3, 4, 5, 6, 7, 8])>>a[-7 -1:-2] array([2, 3, 4, 5, 6, 7])>>a[-7 -2:-1] array([1, 2, 3, 4, 5, 6, 7, 8])>> a[-7 -2:] array([1, 2, 3, 4, 5, 6, 7, 8, 9])

由上面的例子可以看出,a[-n]是选取a数组最后n个元素形成数组。而a[-n -x:-y]表示在形成的a[-n]数组上向前多取x个元素,向后少取y个元素。比如:

a[-7 -1:-2]=[2, 3, 4, 5, 6, 7],这就是在a[-7]=[3, 4, 5, 6, 7, 8, 9]的基础上向前多取了一个数2,向后少取了两个数8、9,形成的新的数组。
时间: 2024-11-02 18:29:59

Python中ndarray数组切片问题a[-n -x:-y]的相关文章

Python中numpy 数组的切片操作

Python中numpy 数组的切片操作简介取元素 X[n0,n1]切片 X[s0:e0,s1:e1]切片特殊情况 X[:e0,s1:]示例代码输出结果简介X[n0,n1]是通过 numpy 库引用二维数组或矩阵中的某一段数据集的一种写法.类似的,X[n0,n1,n2]表示取三维数组,取N维数组则有N个参数,N-1个逗号分隔.以二维数组为例: import numpy as npX = np.array([[0,1,2,3],[10,11,12,13],[20,21,22,23],[30,31,

GO中的数组切片

GO中的数组切片可以看做是功能更强大的数组,在append数据时,可以自动调整内存大小以适应数据实际大小,有些类似于C#中的List<T>. GO 中数组切片的“容量”与实际储存的大小可以不同,比如一个杯子容量是500ml,实际只装了200ml的水. 数组切片的基本用法: fmt.Println("数组切片可以看做是一种比普通数组更强大的数组")     //数组切片     fmt.Println("数组切片:")     fmt.Println(&q

golang中的数组切片

概念:基于数组,数组切片添加了一系列管理功能,可以随时动态扩充存放空间,并且不会导致所管理的元素被重复复制. 创建数组切片: 方法一,基于数组: package main import "fmt" func main() { //define an array var myArray [10]int = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} //create a slice based on array var mySlice []int = m

python中下标和切片的使用

下标 所谓下标就是编号,就好比超市中存储柜的编号,通过这个编号就能找到相应的存储空间. Python中字符串,列表,元祖均支持下标索引. 例如: # 如果想取出部分字符,可使用下标 name="abcd" print(name[0]) print(name[1]) print(name[2]) print(name[3]) # 输出结果为: # a # b # c # d 切片 切片是指对操作的对象截取一部分的操作,字符串,列表,元组均支持切片操作. 切片的语法:[起始:结束:步长]

python中的数组list和字典dic

list #!/usr/bin/env python  #encoding:utf-8 classmates = ['Michael', 'Bob', 'Tracy'] classmate=['01','02','03'] print(classmate[0]) print(len(classmate)) dic #!/usr/bin/env python  #encoding:utf-8 a={'xaioming':80,'lili':90,'kk':101} print(a['lili'])

python中合并数组的方法

一.数组纵向合并 1.使用np.vstack()函数 [code] #数组 a = [[1,2,3],[4,5,6]] b = [[1,1,1],[2,2,2]] #纵向合并 c = np.vstack((a,b)) print("c="+str(c)) [result] c = array([[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]] 2.使用 np.r_[]函数 [code] #数组 a = [[1,2,3],[4,5,6]] b = [

Python中实现数组功能

#相当于C语言中的array[10] array = [0 for i in range(10)] array = [0] * 10 #相当于C语言中的array[10][10] array = [[0 for j in range(10)] for i in range(10)] array = [[0] for i in range(10)] for i in range(10): for j in range(10): array[i].append(0) array = [[0] * 1

python中的归并排序

本来在博客上看到用python写的归并排序的程序,然后自己跟着他写了一下,结果发现是错的,不得不自己操作.而自己对python不是很了解所以就变百度边写,终于在花了半个小时之后就写好了. def merge(a, first, end, temp): if first < end: mid = (first+end)//2 merge(a, first, mid, temp) #前半部分拍好序 merge(a, mid+1, end, temp) #后半部分拍好序 merger(a, first

Python中定义字符串和修改字符串的原理

   Python是用C语言开发的,在C语言中是没有字符串的概念,只有字符和字符数组,一般用字符数组表示字符串,所以在Python中定义一个字符串时,其实就是在内存中开辟一块空间, 例如: 定义一个字 符串string1=hello  --------->5个字符 字符数组['h','e','l','l','o'],其在内存中存储的位置为:['h','e','l','l','o'] 而如果想要修改该字符串为hellosb,在需要在内存中重新开辟一块数据空间为:['h','e','l','l','