内容正文:
基本数据结构
课标梳理
教材重点 课标要求 学业质量水平
基本数据结构 掌握字符串、列表、字典等基本数据结构的使用方法 2-2
教材研析
1.程序计算时,需要根据数据之间的逻辑关系和处理任务的要求,将各种数据组合成具有一定结构的复合体。如下某数据库的“课程”数据表中的一条记录就是一个复合体。
2.常用数据结构:字符串、列表、字典。
1
字符串String
1.概念:字符串是0个或多个字符组成的序列。
2.要点:
(1)字符串是不可变数据:即无法修改字符串的部分内容,必须修改全部的内容。
(2)字符串是Python中最常用的数据类型。可以使用引号('或″或‴)来创建字符串。
(3)创建字符串很简单,只要为变量分配一个字符串型的值即可。如:
var2=″China 2023!″
(4)Python不支持单字符类型,单字符在Python中也是作为一个字符串使用。
3.求字符串的字符个数
函数 描述 范例
len(seq) 返回序列的长度 len('Runoob')=6
4.访问字符串中的值:通过索引(“切片”)。
(1)索引:标识每个字符在字符串中的位置。
①正索引(左 右):0起始
②负索引(左 右):-1起始
(2)“切片”:使用方括号 []和索引实现从字符串中取子串。
①格式字符串“切片”的语法格式:字符串变量名[头索引:尾索引:步长]
范例:取str中的“N”的表达式为str[2]
·范例1:“切片”取字符串'Runoob'中的'u'和'un'
>>>s='Runoob'
>>>s[1:2:1]
'u'
>>>s[1:3]
'un'
·范例2:“切片”取字符串'Runoob'中的'uob'
>>>s='Runoob'
>>>s[1::2]
'uob'
·范例1:逆向“切片”取字符串'Runoob'中的'n'和'nu'
>>>s='Runoob'
>>>s[-4:-5:-1]
'n'
>>>s[-4:-6:-1]
'nu'
·范例2:逆向“切片”取字符串'Runoob'中的子串'bn'
>>>s='Runoob'
>>>s[-1:-4:-3]
'b'
>>>s[-1:-5:-3]
'bn'
典例1 变量a指向字符串对象'Python',从该字符串中取'Pn',表达式为______________________。
a[0:6:5]或a[:6:5]或a[::5]
典例2 变量a指向字符串对象'Python',正向取该字符串中的全部字符,表达式为___________或_________或________或______或_____。
a[0:6:1]
a[:6:1]
a[::1]
a[::]
a[:]
典例3 变量a指向字符串对象'Python',逆向取该字符串中的全部字符,正确的表达式为_____________或___________或______________________。
a[-1:-7:-1]
a[:-7:-1]
a[::-1](答案不唯一)
5.Python 字符串更新
可以截取字符串的一部分并与其他字符串拼接。运行实例如下:
典例4 字符串变量s=″Hello world″,如果想将字符串变量s中的字符″w″改成大写″W″,下列操作可行的是( )
A.s=s[0:6]+″W″+s[7::]
B.s[6]=″W″
C.s[7]=″W″
D.s=s[1:7]+″W″+s[8::]
解析 我们可以访问字符串中的单个字符,但却不可以对其进行修改,因此选项B,C是错误的,字符串的正索引是从0开始进行编号的,所以答案选A。
A
典例5 有Python代码如下:
a='ABCD'
a[1]='W'
print(a)
则运行代码后,结果为________________。
程序将出错
解析 代码:a[1]='W'无法执行,因为字符串不能修改部分内容,必须修改其全部内容。
2
列表List
1.定义:列表是最常用的Python数据类型。它是一个由0个或多个元素组成的1个序列整体,序列中的每个值都有对应的位置值,称之为索引,第一个索引是0,第二个索引是1,依此类推。
2.要点:
(1)列表是可变数据。
(2)列表的数据项(元素)不需要具有相同的类型→异质。
(3)列表的元素可以是数字、字符串等混合类型的数据,甚至可以是其他的列表(如下图所示)。
3.创建列表:把逗号“,”分隔的不同的数据项使用方括号“[]”括起来即可。如下所示:
list1=['Google','Runoob',2023,2024]
list2=[1,2,3,4,5 ]
list3=[″a″,″b″,″c″,″d″]
list4=['red','green','blue','