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

yipeiwu_com6年前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 while、for、生成器、列表推导等语句的执行效率测试

一个功能的实现,可以用多种语句来实现,比如说:while语句、for语句、生成器、列表推导、内置函数等实现,然而他们的效率并不一样。写了一个小程序来测试它们执行的效率。 测试内容: 将...

python不使用for计算两组、多个矩形两两间的iou方式

python不使用for计算两组、多个矩形两两间的iou方式

解决问题: 不使用for计算两组、多个矩形两两间的iou 使用numpy广播的方法,在python程序中并不建议使用for语句,python中的for语句耗时较多,如果使用numpy广播...

Python对接六大主流数据库(只需三步)

Python对接六大主流数据库(只需三步)

作为近两年来最火的编程语言的python,受到广大程序员的追捧必然是有其原因的,如果要挑出几点来讲的话,第一条那就python语法简洁,易上手,第二条呢? 便是python有着极...

剖析Python的Tornado框架中session支持的实现代码

tornado 里面没有 session?不,当然有~我知道 github 上肯定有人帮我写好了~ O(∩_∩)O~       于是乎...

Python计算三角函数之asin()方法的使用

 asin()方法返回x的反正弦,以弧度表示。 语法 以下是asin()方法语法: asin(x) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需...