Python高级特性-切片(Slice)
2017-08-10 23:43
351 查看
切片(Slice)
如何在一个数组中取特定的一组数据? 是一个个指定?
>>> L = range(10) >>> L [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> L[0] 0 >>> L[1],L[2],L[3] (1, 2, 3) >>>1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
数据少还行,要是数据多呢?循环怎么样?
>>> L = range(10) >>> L [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range(3): ... print L[i] ... 0 1 2 >>>1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
这个循环是单个输出,要是需要输出数组还要做一下修改
>>> L = range(10) >>> L [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> r = [] >>> for i in range(3): ... r.append(L[i]) #add L[i] for list r in the end ... >>> r [0, 1, 2] >>>1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
如果不需要连续取数,而是要间隔取数呢?有点要疯的感觉吧?是不是感觉很麻烦?Python提倡的”优雅”,”简洁”的特性何在?python不能忍啊所以提出了
切片这种神奇的东东.
还是用上面的例子:
>>> L [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> L[0:5] # [0, 1, 2, 3, 4] >>> L[:5] #若是从list的头部开始索引,0可以省略. [0, 1, 2, 3, 4] >>> L[1:5] [1, 2, 3, 4]1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
通过使用一个简单的冒号
:就能优雅的输出数组了,还要什么循环!Python你的节操掉了!根据数组的特性我们还可以倒着输出.
>>> L [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> L[-5:] [5, 6, 7, 8, 9] >>> L[-5:-1] #倒数第一个元素的索引是`-1` [5, 6, 7, 8]1
2
3
4
5
6
1
2
3
4
5
6
这里有个地方要注意比如某一个切片是这样的
L[x:y]其中必须x
>>> L = range(10) >>> L[5:4] []1
2
3
4
1
2
3
4
我还会大跳!
前十个数,每两个取一个:>>> L[:10:2] [0, 2, 4, 6, 8]1
2
3
1
2
3
100个数组中,没5个取一个:
>>> L=range(100) >>> L[::5] #L[:]是全部显示的意思. [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]1
2
3
1
2
3
tuple,str,Unicode也是可以的
tuple也是一种list,不过tuple是不可变的,所以tuple也可以使用切片,不过输出的还是tuple罢了.>>> L=(1,2,3,4) >>> L[:2] (1, 2)1
2
3
4
1
2
3
4
同样string
xxx或Unicode
u'xxx'也是一种list,所以也可以使用切片.
>>> L='abcde' >>> L[:2] 'ab' >>> L='我来了' >>> L[:2] '\xe6\x88' >>> L=u'我来了' >>> L[:2] u'\u6211\u6765' >>>
相关文章推荐
- Python高级特性切片(Slice)操作详解
- python学习笔记-高级特性-切片(Slice)
- Python基础-高级特性-切片(Slice)
- 【Python】高级特性之切片(slice)
- python 高级特性:slice(切片) 灵活指定范围
- Python之高级特性(切片,迭代,列表生成式,生成器)
- Python高级特性(切片,迭代,列表生成式、生成器、迭代器)
- python学习笔记(5)-高级特性(一)-切片
- python的高级特性:切片,迭代,列表生成式,生成器,迭代器
- python高级特性(1)切片,迭代
- Python高级特性之切片
- python高级特性(1):切片
- Python3 基础:高级特性-切片和迭代
- Python高级特性(切片 迭代 列表生成式 生成器 迭代器)学习笔记
- python切片、迭代、生成器、列表生成式等高级特性学习
- Python的高级特性(切片,迭代,生成器,迭代器)
- python高级特性:切片/迭代/列表生成式/生成器
- Python 高级特性 : 切片
- Python高级特性(切片,迭代,列表生成式,生成器,迭代器)
- Python3 学习笔记15_高级特性(切片+迭代)_20180306