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

yipeiwu_com7年前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设计】。

相关文章

python实现的多任务版udp聊天器功能案例

python实现的多任务版udp聊天器功能案例

本文实例讲述了python实现的多任务版udp聊天器。分享给大家供大家参考,具体如下: 说明 编写一个有2个线程的程序 线程1用来接收数据然后显示 线程2用来检测键盘数据然后通过udp...

python批量修改文件夹及其子文件夹下的文件内容

python批量修改文件夹及其子文件夹下的文件内容

前言:前几天我看一位同学要修改很多文件中的数据,该文件数据很规律,一行只有三个数,需要将每行最后一个数字改为负数,但文件有上千个,分布在每个文件夹下面以及它的多级子文件夹下,看他用exc...

pyqt5对用qt designer设计的窗体实现弹出子窗口的示例

1. 用qt designer编写主窗体,窗体类型是MainWindow,空白窗口上一个按钮。并转换成mainWindow.py # -*- coding: utf-8 -*- #...

python pdb调试方法分享

复制代码 代码如下:import pdbdef pdb_test(arg):    for i in range(arg):  &nbs...

简述Python中的进程、线程、协程

进程、线程和协程之间的关系和区别也困扰我一阵子了,最近有一些心得,写一下。 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。 线程拥有自己独立的栈和共享的堆,共享堆...