a = input("请输入一个四位数:")
print(a[::-1])
1.python中切片的概念
pytho中的切片指的是在字符串、元组或列表中截取指定范围的数据。(在某个对象中截取部分值)
2.切片的格式
切片表达式的完整格式为:[start_index:end_index:step]
其中start_index表示的是切取的开始,取值时从0开始包含取值点本身,点它可以省略,省略时表示从对象的端点开始切取并且是根据step的正负确定开始索引的端点。
>>>a = 1,2,3,4,5,6,7,8,9
>>>a[:5]
(1,2,3,4,5)
end_index表示的是切取的终止点,他不包括取值点本身,省略时表示从对象的另一端点终止索引。
>>>a = 1,2,3,4,5,6,7,8,9
>>>a[3:]
(4,5,6,7,8,9)
step的值可以取正或负,取正时表示正向取值(从左往右),为负数时表示的是方向取值(从右往左)。该值控制的是切取方向和取值的曾量,默认增量为1(从左往右以曾量1取值)。
>>>a = 1,2,3,4,5,6,7,8,9
>>>a[2:9:2]
(3,5,7,9)
3.详细例子
切取单个值或全部对象
>>>a = 1,2,3,4,5,6,7,8,9
>>>a[0]
(1)
>>>a[-9]
(9)
>>>a[:]
(1,2,3,4,5,6,7,8,9)
切取时start_index,end_index,step的正负与切取值的关系
当step为正的时候表示从左往右取,如果start_index和end_index的正负取值不符合逻辑就不能正常切取出元素。
>>>a = 1,2,3,4,5,6,7,8,9
>>>a[-4:3]
() #由于step默认为1,切取方向为从左到右,a[-4:3]的切取时start_index的值在end_index的值的左边取值方向与step冲突无法取值
>>>a = 1,2,3,4,5,6,7,8,9
>>>a[:6:-1]
(9,8) #step为负,start_index不设置时表示从后端点开始取到end_index的位置
总结:start_index到end_index的取向与step有关系,一点要注意前两者的逻辑关系。
切片可以连续切取
>>>a = 1,2,3,4,5,6,7,8,9
>>>a[:6][2:5][-2]
(4)
#上述过程相当于:
>>>a[:6]=(1,2,3,4,5,6)
>>>a[:6][2:5]=(3,4,5)
>>>a[:6][2:5][-2]=(4)
start_index,end_index和step可以用表达式来表示
>>>a = 1,2,3,4,5,6,7,8,9
>>>a[1+2:2*3:3%2]
(4,5,6)
切片其他常用情况
替换、插入和修改元素
#替换元素
>>>a = [1,2,3,4,5,6,7,8,9]
>>>a[3:6] = ['A','B']
>>>print(a)
[1, 2, 3, 'A', 'B', 7, 8, 9]
#插入元素
>>>a = [1,2,3,4,5,6,7,8,9]
>>>a[3:3] = ['A','B','C']
>>>print(a)
[1, 2, 3, 'A', 'B', 'C', 4, 5, 6, 7, 8, 9]
#修改元素
>>> a = [1,2,3,4,5,6,7,8,9]
>>> a[3] = ['A']
>>> print(a)
[1, 2, 3, ['A'], 5, 6, 7, 8, 9]
取对象的奇和偶
>>> a = [1,2,3,4,5,6,7,8,9]
>>> a[::2]
[1, 3, 5, 7, 9]
>>> a[1::2]
[2, 4, 6, 8]
我所了解的切片就这些了,本人刚学python如有错误请各位指出,让我们共同学习,共同进步。
(部分内容摘自:Python热爱者)
|