切片语法格式:[start: end: step]
切片操作,适用于numpy数组,列表,元组,字符串
见上图,索引的形式有两种,正向索引和负向索引。
正向索引:方向是从左到右,从下表0开始。
负向索引:方向是从右到左,从下表-1开始
step:当step>0时,从左到右,当step<0时,从右到左
一维数组通过冒号分割数组,有以下三种情形:
情形一: a[i] 返回与该索引相对应的单个元素。
a = [1,2,3,4,5,6,7,8,9]
print(a[2]) #3
情形二: [start: end: step](含start,不含end)
- step方向与索引方向要一致,否则会输出[]
- 当start缺省,表示取到端点位置,具体是“起始端点”还是“结束端点”要看step的值,当为正时,表示左边为起始端点,从左向右取;当为负数时,表示右边为起始端点,从右向左取。
- 当end缺省时,表示取到“终点”,具体终点是在左边还是右边,要看step的值是正数还是负数。step>0,终点是右,step<0,终点是左
- 决定切片方向是step的正负,无关索引正负
a[1:6] #[2, 3, 4, 5, 6]
a[1:6:-1] #[] step方向与索引方向不一致
a[:6:-1] #[9,8] step=-1,决定从右到左的输出方向,start缺省,则默认为-1
a[6::-1] #[7, 6, 5, 4, 3, 2, 1]
a[1:-6] #[2, 3]
a[1:-6:-1] #[] step方向与索引方向不一致
a[3:-8:-1] #[4, 3]
a[3:-9] #[] step方向与索引方向不一致
a[-1:2:-1] #[9, 8, 7, 6, 5, 4]
a[-6::-1] #[4, 3, 2, 1] end=0
a[:-6] #[1, 2, 3]
多维数组的切片,用逗号分隔每一维度。
import numpy as np
arr = np.arange(12).reshape(3,4)
print(arr[:,0]) #[0,4,8]
print(arr[:,:1]) #[[0],[4],[8]]
参考链接: link.
第一个是,指定了最后一列,也就是说,在二维数组里的一列,就是一维的啊。那么第二个,是从最后一列开始,不妨假设一下后面还有列,那么就应该是不止一列,对机器来说,就是二维的。机器肯定不知道什么时候是一维,什么时候是二维的,所以当你用到start和end的时候,那就当作是二维的了。
昨天在网赛中做了一道题,虽然是外国人的Englis题目,但是内容很有学习的价值,值得仔细的学习,今天就把我所收获的一部分记录下来。其一:做个学习的资料记录。其二:分享出来,供大家参考。(收获了对处理大数据的又一次认识!!!)这是一道将DataFrame的日期数据转换为python能认识的题目。这里重点讲一下to_datetime的部分使用。首先说一下:1/17/07 has the format ...
今天犯了一个错误,调了好久,就是加载applicationContext.xml文件时总是路径出错。我的做法是:在myeclipse中导入spring框架,然后会在src目录下生成applicationContext.xml配置文件。我手动添加了一个文件在项目下,就是这样创建了一个conf的文件夹,然后把applicationContext.xml拖拽到该文件夹下,一启动就包上
一、背景简介为什么要有智能指针?因为c++没有自动回收机制,程序员手动new出的对象都需要手动的delete,在庞大的项目中,很难保证不出纰漏。我们知道对象的生成和销毁有析构函数(可以通过手动调用new)和构造函数(无需手动调用),所以智能指针就可以利用这个特性。简单总结,智能指针是一个栈对象,做的是指针的事情,指向堆上开辟的资源,在栈对象声明周期结束时,自动调用析构函数,释放堆上内存...
在网上下载完毕STM3210x的库文件后,对其进行解压,里面有四个文件夹,以STM32F10x_StdPeriph_Lib_V3.5.0为例如下图所示: 图1 库文件解压后包含的文件夹其中,_htmresc文件夹是ST公司的图标,没用可以删除,而Release_Notes则是一个介绍该库文件相比之前版本有何改动的内容,新手可以忽略这个,而stm32f10x_stdperiph_l...
本章归纳C语言中疑难知识点,容易出错的用法及语法,特殊用法扩展等目录第一章 C语言概述第二章 算法——程序的灵魂第三章 数据的表现形式及其运算 3.1 数据类型及运算 3.1.1 常量和变量 3.1.2 数据类型 3.1.3 整型数据 3.1.4 字符型数据&lt;1&gt;关于罕见字符的输出:...
首先将windows镜像拷贝到根目录的ios下,这个文件可自行选择位置,我这里使用的是windows10,并且已经提前安装了虚拟机组件然后用root用户的身份在命令行输入virt-manager点击file下面的小电脑,然后选择刚刚拷贝的windows镜像,依次选择内存和cpu和硬盘的容量后,其可进入安装界面安装完毕即可在linux下使用windows...
最近因为项目上需要用C++调用python语言训练好的模型,不得已开始查这方面的资料,正好看到官方文档的第五章将Python嵌入到另一个应用程序中有讲到这方面的知识,正好翻译一下,也贡献给有需要的小伙伴。(注意:本章中主要讲到的是将python嵌入C程序中)ps: 文中部分翻译可能不太恰当,欢迎小伙伴们进行批评指正~5.在另一款应用程序中植入python在之前的章节中已经讨论了如何扩展pyt...
01公司发展战略的制定—战略制定概述 战略制定是指确定企业任务,认定企业的外部机会与威胁,认定企业内部优势与弱点,建立长期目标,制定供选择战略,以及选择特定的实施战略。是战略计划的形成过程。 战略制定是企业基础管理的一个组成部分,是科学化加艺术化的产物,需要不断完善。关于战略的定义 战略(STRATEGY)“STRATEGIC”一词意思是“极其重要的东西”,指“战略,战略学,策略,计谋” 1、军事上“战略是长远性的、全局性的,根本性的方针、谋略”“为赢得未..
import { defineComponent, PropType, computed } from "vue";import "./style.less";import Service from "./virtual_list.service";export default defineComponent({ name: "VirtualList", props: { // 容器总高度 screenHeight: { type: Number,
一.剑指offer代码鲁棒性(输入参数检查等)贯穿所有代码当中,不会特别强调. 1.赋值运算符函数注意:1.返回值类型为该类型引用(链式赋值),返回*this2.传入参数常量引用3.释放自身已有空间4.判断是不是自身赋值例:MyString& MyString::operator=( const MyString& str ){ if (
基于 MySQL 的批量事务消息队列消息队列本质上是一个存储介质,通常是链表结构,不同的进程或线程可以向消息队列中写入或读取消息。消息队列的使用场景有很多,比如异步处理任务、应用解耦、流量削锋等等。通常我们使用消息队列,都是直接使用 MNS、RocketMQ、Kafka 等产品。但某些场景下这些产品也难以满足,或者使用起来成本比较高,比如:批量创建大量(比如 1 万条)消息,并且要么都写入,要么不...
#include #include #include using namespace std;int is_prefix(char *a,char *b){ int m,n,i; m=strlen(a),n=strlen(b); char *longer=m>=n?a:b; char *shorter=m<n?a:b; m=strlen(longe