对Python中list的倒序索引和切片实例讲解

yipeiwu_com5年前Python基础

Python中list的倒序索引和切片是非常常见和方便的操作,但由于是倒序,有时候也不太好理解或者容易搞混。

>>> nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(nums[-1])
9
>>> print(nums[-2:])
[8, 9]
>>> print(nums[:-3])
[0, 1, 2, 3, 4, 5, 6]

例如,给定一个数组nums。

索引操作 nums[-1] 还比较容易理解,切片操作 nums[-2:] 也还好,但 nums[:-3] 有时候就容易让人糊涂了。

其实,可以这么看,-2就相当于 len(nums)-2,只不过把 len(nums) 省略了,这样再进行切片操作时就比较容易理解了。

>>> length = len(nums)
>>> print(length)
10
>>> print(nums[length-1])
9
>>> print(nums[length-2:])
[8, 9]
>>> print(nums[:length-3])
[0, 1, 2, 3, 4, 5, 6]
nums[-2:],即 nums[length-2:], 即 nums[8:]

同样,nums[:-3],即 nums[:length-3], 即 nums[:7]

以上这篇对Python中list的倒序索引和切片实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django中的CACHE_BACKEND参数和站点级Cache设置

CACHE_BACKEND参数 每个缓存后端都可能使用参数。 它们在CACHE_BACKEND设置中以查询字符串形式给出。 有效参数如下:     t...

对python 数据处理中的LabelEncoder 和 OneHotEncoder详解

如下所示: #简单来说 LabelEncoder 是对不连续的数字或者文本进行编号 from sklearn.preprocessing import LabelEncoder le...

利用Python命令行传递实例化对象的方法

一、前言 在开发过程中,遇到了这样一个情况:我们需要在脚本中通过 suprocess.call 方法来启动另外一个脚本(脚本 B),当然啦,还得传递一些参数。在这些参数中,有一个需要传...

Windows下PyMongo下载及安装教程

PyMongo下载 PyMongo下载地址: http://pypi.python.org/pypi/pymongo/ 当前可下载选项: 复制代码 代码如下: pymongo-1.11....

Python计算两个日期相差天数的方法示例

本文实例讲述了Python计算两个日期相差天数的方法。分享给大家供大家参考,具体如下: #!/usr/bin/python import time import sys def da...