Python切片操作总结
一、总结
一句话总结:
1、切片中索引是有正负的
2、切片操作的时候先分析step,因为step正负表示方向,再看start_index和end_index,step为正表示从左到右切片,为负表示从右往左(如果此时起点参数省略,那么起点应该是最右端)
3、切片操作除了列表,还有元组、字符串等
4、可以用切片操作来替换值或者插入值
1、python切片操作各参数分析顺序?
先看step,确定方向,确定方向之后,才好确定省略的起点和终点的取值
如果step为-1,那么表示从右往左,如果起点省略,那么起点就是最右端
2、python切片 在某个位置插入元素 为什么可以用a[3:3] = ['a','b','c']?
a[3:3] 虽然取不到值,但是表示3这个位置,这样a[3:3] = ['a','b','c']即是表示插入a、b、c
3、python切片修改单个元素、在某个位置插入元素、 替换一部分元素 的区别实例?
修改单个元素:a[3] = ['A','B']
在某个位置插入元素:a[3:3] = ['a','b','c']
替换一部分元素:a[3:8] = ['E','F']
4、元组、字符串、循环 切片操作实例?
(0, 1, 2, 3, 4, 5)[:3] # 元组的切片操作
'ABCDEFG'[::2] # 字符串的切片操作
for i in range(1,100)[2::3][-10:]: # 利用range函数生成1-99的整数,然后取3的倍数,再取最后十个
5、python切片索引的正负如何理解?
正负索引按照画的图的规则来看就好了,step确定访问的顺序,正负索引看索引拿值就好了,没必要看做和方向相关
6、切片操作默认是留头不留尾,但是当尾参数省略的时候,是包含尾的?
留头不留尾:a[1:-6:-1]
包含尾:a[-6:]
二、Python切片操作总结
转自或参考:彻底搞懂Python切片操作
https://www.cnblogs.com/malinqing/p/11272485.html
在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器。理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任意切取目标值。切片操作的基本语法比较简单,但如果不彻底搞清楚内在逻辑,也极容易产生错误,而且这种错误有时隐蔽得比较深,难以察觉。本文通过详细例子总结归纳了切片操作的各种情况。若有错误和不足之处请大牛指正!
一、Python可切片对象的索引方式
Python可切片对象的索引方式包括:正索引和负索引两部分。
如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例: