欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能!
文章目录
前言
在 Python 中,数据容器是组织和管理数据的重要工具,序列作为其中一种基本的数据结构,具有独特的特性和广泛的应用。本章详细介绍了序列的定义及其切片操作。
本篇文章参考:黑马程序员
一、序列的定义
序列:内容连续、有序,可使用下标索引的一类数据容器。
列表、元组、字符串均可以可以视为序列。
如上图,序列的典型特征就是有序并可用下标索引,字符串、元组、列表均满足这个要求。
二、序列的切片
序列支持切片,即列表、元组、字符串,均支持进行切片操作。
切片:从一个序列中,取出一个子序列。
语法:序列[起始下标:结束下标:步长]
表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列。
注意:切片操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)。
- 起始下标:从何处开始,可以省略,省略视作从头开始
- 结束下标(不含):到何处结束,可以省略,省略视作截取到结尾
- 步长:依次取元素的间隔
步长1表示一个个取元素;
步长2表示每次跳过1个元素取;
步长N表示每次跳过N-1个元素取;
步长为负数表示反向取(注意:起始下标和结束下标也要反向标记)
# 对list进行切片,从1开始,到4结束,步长为1
my_list=[0,1,2,3,4,5,6]
# 步长默认是1,可省略不写
result=my_list[1:4]
print(result)
# 对list进行切片,从3开始,到1结束,步长为-1
# 步长默认是1,可省略不写
result2=my_list[3:1:-1]
print(result2)
输出结果:
[1, 2, 3]
[3, 2]
# 对tupe进行切片,从头开始,到尾结束,步长为1
my_tupe=(0,1,2,3,4,5,6)
# 起始和结束不写表示从头到尾
# 步长默认是1,可省略不写
result=my_tupe[:]
print(result)
# 对tupe进行切片,从头开始,到尾结束,步长为-2
result2=my_tupe[::-2]
print(result2)
输出结果:
(0, 1, 2, 3, 4, 5, 6)
(6, 4, 2, 0)
# 对str进行切片,从头开始,到尾结束,步长为2
my_str="01234567"
result=my_str[::2]
print(result)
# 对str进行切片,从头开始,到尾结束,步长为-1
result2=my_str[::-1] # 该写法等同于将序列反转
print(result2)
输出结果:
0246
76543210
【例题】
有一个字符串"nohtyP olleH"。请使用学过的任何方式,得到"Python "。
str="nohtyP olleH"
# 方法①:先倒序字符串,再切片取出
result1=str[::-1][6:12]
print(result1)
# 方法②:先切片取出,再倒序字符串
result2=str[0:6][::-1]
print(result2)
# 方法③:先split分割,再倒序字符串
result3=str.split(" ")[0][::-1]
print(result3)
标签:Chapter,11,Paython,切片,print,步长,str,序列,my From: https://blog.csdn.net/2302_80253507/article/details/140574472输出结果:
Python
Python
Python