Chapter 11 Paython数据容器:序列

欢迎大家订阅【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)

输出结果:
Python
Python
Python

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值