宝宝攻略(4) Python切片的妙用
2017-09-12 11:26
155 查看
这篇博客主要讲切片的作用,首先来看一下什么是切片。
如果我们把python里面的list比作一大块猪肉,那么list里面每一个元素,都是这块猪肉上面的一片,然后我们从左往右给这些猪肉编号:0,1,2,3,…..那什么是切片呢,它就是一种按照给定区间取猪肉的方式。比方说有个客人过来说,老板给我来这坨猪肉里面16-20号的猪肉片,看着新鲜。如果老板从头开始一个一个数猪肉数到16再开始给客人幺秤,这不是没上过小学么,要是有一大堆客人,那这家生意不要做了,太慢了。所以python就提供了切片这样一种简单的方式来方便我们取数。
切片的适用对象
list,tuple(这个不知可行?最好亲测一下)
切片的格式
[start_position : end_position : step]
解释一下这几个东西。start_position和end_position很好理解,就是要取猪肉的开始编号和结束编号,注意哦,这个地方是左闭右开。比如客人说我要5-10之间的,那么实际上给他的猪肉是从5号开始,到10号结束,但是10号是不给的,实际上给了5,6,7,8,9这几片。然后step是什么呢,比方说遇到一个很鸡婆的客人,他说我要5-12之间所有奇数的猪肉,啊这好烦啊,但是客人是上帝嘛。这个时候step就设为2,表示我隔一个取一个,设为3呢?隔两个取一个,依次类推。那要是客人说,我要5-12的猪肉,但是我要倒着的,因为我篮子是锥形的,12号最小要先放它进去才行。那这怎么办呢?我们把step设为-1,╮(╯▽╰)╭这样也可以啦~
有的时候我们会发现有些人的代码start_position ,end_position , step总有没填的,甚至都没填,那这是什么情况?其实就是默认的,如果没填,step默认是1,start_position就是从0开始,end_position就是到队尾。我们下面举例看看效果哈。
如果我们把python里面的list比作一大块猪肉,那么list里面每一个元素,都是这块猪肉上面的一片,然后我们从左往右给这些猪肉编号:0,1,2,3,…..那什么是切片呢,它就是一种按照给定区间取猪肉的方式。比方说有个客人过来说,老板给我来这坨猪肉里面16-20号的猪肉片,看着新鲜。如果老板从头开始一个一个数猪肉数到16再开始给客人幺秤,这不是没上过小学么,要是有一大堆客人,那这家生意不要做了,太慢了。所以python就提供了切片这样一种简单的方式来方便我们取数。
切片的适用对象
list,tuple(这个不知可行?最好亲测一下)
切片的格式
[start_position : end_position : step]
解释一下这几个东西。start_position和end_position很好理解,就是要取猪肉的开始编号和结束编号,注意哦,这个地方是左闭右开。比如客人说我要5-10之间的,那么实际上给他的猪肉是从5号开始,到10号结束,但是10号是不给的,实际上给了5,6,7,8,9这几片。然后step是什么呢,比方说遇到一个很鸡婆的客人,他说我要5-12之间所有奇数的猪肉,啊这好烦啊,但是客人是上帝嘛。这个时候step就设为2,表示我隔一个取一个,设为3呢?隔两个取一个,依次类推。那要是客人说,我要5-12的猪肉,但是我要倒着的,因为我篮子是锥形的,12号最小要先放它进去才行。那这怎么办呢?我们把step设为-1,╮(╯▽╰)╭这样也可以啦~
有的时候我们会发现有些人的代码start_position ,end_position , step总有没填的,甚至都没填,那这是什么情况?其实就是默认的,如果没填,step默认是1,start_position就是从0开始,end_position就是到队尾。我们下面举例看看效果哈。
a = [1,2,3,4,5,6,7,8,9,10] print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(a[::]) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(a[::-1]) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] print(a[::-2]) # [10, 8, 6, 4, 2] print(a[1:5:]) # [2, 3, 4, 5] print(a[1:10:])# [2, 3, 4, 5, 6, 7, 8, 9, 10] print(a[1::]) # [2, 3, 4, 5, 6, 7, 8, 9, 10] print(a[1:-1:])# [2, 3, 4, 5, 6, 7, 8, 9]
相关文章推荐
- python中的切片和join的妙用
- python之 切片--妙用
- Python eval 函数妙用
- python切片索引循环砍掉最后一个字符
- Python中基础的socket编程实战攻略
- Python(八)切片、迭代、列表生成式、生成器
- python 切片
- Python-切片
- 3.Python进阶-切片+列表生成式+复杂表达式+条件过滤+多层表达式
- python入门--切片,迭代,列表生成
- Python学习笔记 - 切片
- Python基础4--切片
- Python对切片命名的实现方法
- Python语言入门(七)list集合切片体验Python语法简洁
- DayDayUP_Python自学记录[9]_切片
- python学习笔记(六)切片
- Python基础-切片与迭代
- python dataframe常见操作方法:实现取行、列、切片、统计特征值
- Python eval 函数妙用
- python 切片