Python序列以及切片操作

本文详细介绍了序列的概念,包括列表、元组、集合、字典和字符串等基本类型。重点讲解了索引的正向递增和反向递减用法,并通过示例演示了如何遍历字符串序列。此外,还深入探讨了序列的切片操作,解释了切片的语法结构及参数含义,并提供了多个代码实例来展示不同切片情况下的结果。最后,通过练习题巩固了索引越界时切片操作返回空序列的知识点。
摘要由CSDN通过智能技术生成

1.序列

  • 序列是一个用于存储多个值的连续空间,每个值都对应一个整数编号,称为索引。
    在这里插入图片描述

  • 序列结构主要有列表、元组、集合、字典和字符串

2.索引

  • 正向递增索引,取值范围[0,N-1]
  • 反向递减索引,取值范围[-1,-N]
    在这里插入图片描述
    下面我们用索引遍历一下字符串序列
s="helloworld"

# 正向递增索引
for i in range(0,len(s)):
    print(s[i])

print("------------------------")
# 反向递减索引
for i in range(-10,0):
    print(i,s[i])

3.序列的相关操作——切片操作

什么是切片

从列表中切出来多个元素,并将取得元素存入新列表,这叫做列表切片

语法结构

序列[start : end : step]

参数说明

  • start:表示切片开始的位置(包括开始位置),如果不指定,默认为0
  • end:表示切片结束位置(不包括结束位置),如果不指定,默认为序列长度
  • step:表示步长,如果省略,默认为1,当省略步长时,最后一个:可以省略

代码练习

s="helloworld"
# 索引从0开始,到5结束,步长为1

# 省略开始位置start,默认从0开始,但一定要写前面的:

# 省略开始位置,省略步长step前面的:一定要写,后面的:可以不写

# 省略结束位置

# 省略结束位置和步长

# 更换一下步长,从0开始,到5结束(不包含5),步长为2

# 省略开始位置和结束位置,只写步长

# 步长可以为负数

# 还可以省略开始位置,结束位置以及步长,但是一定要写上一个:,这个:是开始位置和结束位置中间的,省略步长时,它前面的:可以省略,因此,我们可以只写一个:



s="helloworld"

# 索引从0开始,到5结束,步长为1
s1=s[0:5:1]
print(s1)

# 省略开始位置start,默认从0开始,但一定要写前面的:
print(s[:5:1])

# 省略开始位置,省略步长step前面的:一定要写,后面的:可以不写
print(s[:5])

# 省略结束位置
print(s[0::1])

# 省略结束位置和步长
print(s[5:])

# 更换一下步长,从0开始,到5结束(不包含5),步长为2
print(s[0:5:2])

# 省略开始位置和结束位置,只写步长
print(s[::2])
# 步长可以为负数
print(s[::-1])

# 还可以省略开始位置,结束位置以及步长,但是一定要写上一个:,这个:是开始位置和结束位置中间的,省略步长时,它前面的:可以省略,因此,我们可以只写一个:
print(s[:])


练习题

对于以下代码,描述正确的是:
list = ['1', '2', '3', '4', '5']
print list[10:]

A.导致 IndexError
B.输出['1', '2', '3', '4', '5']
C.编译错误
D.输出[]

正确答案:D

  • 切片操作索引越界不会导致IndexError,只是返回一个空序列,即元组返回空元组(),列表返回空列表[],字典返回空字典{}。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值