python中[

您所在的位置:网站首页 sql取第一位到倒数第二位数值 python中[

python中[

2024-07-02 04:38| 来源: 网络整理| 查看: 265

首先简明概要说明用法,然后再用实际例子阐述。

用法概述

[-1] [:-1] [::-1] [n::-1]都是python中切片的使用方法。

[-1]:获取最后一个元素,类似于matlab中的end;[:-1]:除了最后一个元素,获取其他所有的元素;[::-1]:对第一个到最后一个元素进行倒序之后取出;[n::-1]:对第一个到第n个元素进行倒序后取出。 一般用法

在Python中,切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。普通索引只取出序列中一个下标对应的元素,而切片取出序列中一个范围对应的元素,这里的范围不是狭义上的连续片段。

基本索引

我们从Python的基本索引开始,即单个整数的索引。假设被索引的序列仍为之前提到的a,则基本索引的语法为a[index],其中index为下标。读者可能会觉得这里过于简单,但我们要强调的是Python一个语法糖:负数下标索引,即:index可以取为负数,当其为-n时,对倒数第n个元素进行索引。我们用一张表格值观展示a的索引范围。 在这里插入图片描述

简单的切片

简单切片指的是这样的切片形式:a[start:stop],其行为是得到下标在这样一个前闭后开区间范围内的元素,这个与matlab中的索引不大相同。其中start和stop为负数时,简单看作是负数下标对应的位置即可:

X = [1,2,3,4,5] X[-3:-1] [3, 4] 切片超出索引范围:当start或stop超出上文提到的有效索引范围​时,切片操作不会抛出异常,而是进行截断。 #实质上截断为了X[-3:5] X[-3:100] [3, 4, 5] 缺省:start和stop都是可以缺省的,在缺省的情况下,Python的行为是尽可能取最大区间,具体来说: #当step为正值,或者默认为1时,start的缺省值是无穷小(​),stop的缺省值是无穷大(​) #等效于X[0:3],前闭后开 X[:3] [1, 2, 3] #当step为负值是,Python的行为是尽可能取最大区间,此时访问是逆序的,start应尽量取大,stop应尽量取小,才能保证区间最大 X[:3:-1] #等效于X[4:3],前闭后开 [5] 扩展切片

扩展切片指的是这样的切片形式:a[start:stop:step],其中step是一个非零整数,即比简单切片多了调整步长的功能,此时切片的行为可概括为:从start对应的位置出发,以step为步长索引序列,直至越过stop对应的位置,且不包括stop本身。事实上,简单切片就是step=1的扩展切片的特殊情况。需要详细解释的是step分别为正数和负数的两种情况。

step为正数:按照step的间距,从最开始索引到最终值; X[1:4:2] [2, 4] step为负数: X[-1:1:-2] [5, 3] 实例说明 [-1]:获取最后一个元素,类似于matlab中的end; #-1即为负向第一个索引 X[-1] 5 [:-1]:除了最后一个元素,获取其他所有的元素; #由于step为缺省,默认为1,那么start缺省时取最小值0,即等效于X[0:-1] X[:-1] [1, 2, 3, 4] [::-1]:对第一个到最后一个元素进行倒序之后取出; #由于step为-1是逆序,那么start缺省时取最大值4,stop缺省时取最小值-6,即等效于X[4:-6:-1] X[::-1] [5, 4, 3, 2, 1] [n::-1]:对第一个到第n个元素进行倒序后取出。 #由于step为-1是逆序,其中start为n,stop缺省时取最小值0,即等效于X[n:-(len+1):-1],即从第n个元素开始取出到第1个元素。 X[3::-1] [4, 3, 2, 1] #等效于X[3:-6:-1]

部分内容参考:https://zhuanlan.zhihu.com/p/79541418



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3