3.2 Python 字符串、列表、字典 课件(共41张PPT) 2022—2023学年高中信息技术浙教版(2019)必修1

资源下载
  1. 二一教育资源

3.2 Python 字符串、列表、字典 课件(共41张PPT) 2022—2023学年高中信息技术浙教版(2019)必修1

资源简介

(共41张PPT)
第3章 算法的程序实现
浙教版 信息技术(高中)
必修1 数据与计算
3.3 python 基本数据结构
Python基本数据结构
字符串string:是由单字符构成的一个有序串。
列表list:类似于数组的一组有序数据,组中每个数据成员可以是数字、字符串、布尔,还可以是另一个列表或其他序列类型
字典dict:字典是一种映射集合类型,用一个关键字对应一个值,是一个二元组集合。映射集合中的关键字不能有重复。
元组tuple:与列表类似,但不可就地改变组内元素的值。
集合set:一组无序的数据,且组内没有重复的数据。
Python基本数据结构——(1)字符串String
字符串的概念:
用单引号(’)、双引号(’’)或三引号(’’’)括起来的一个字符序列,起始和末尾的引号必须要一致。
字符串的特点:
①字符串是不可变数据;
②通过索引来访问字符串中的字符。索引表示字符在字符串的位置,第一个元素的索引号是0,第二个元素的索引号是1,以此类推;
③输出字符串时可以在字符串中加入转义符号“\”,比如在字符串前加“r”可以取消“\”的转义,使其成为普通字符串输出。
\a 响铃(BEL)
\b 退格(BS)
\f 换页(FF)
\n 换行(LF)
\r 回车(CR)
\t 水平制表(TAB位置)
\v 垂直制表
\\ 反斜线字符''\'
\' 单引号字符
\" 双引号字符
\0 空字符(NULL)
字符串有三种基本运算
“x+y”:连接两个字符串x与y,如
"12"+"34"='1234'
“x*n”或“n*x”:复制n次字符串x,如 3*"12"='121212'
“x in s”:判断子字符串,如
"1" in "21"=True
字符串-基本运算
可以通过索引访问字符串中特定位置的字符。
假设:字符串“ABCDEFGHIJ”
“G”正向索引是几?
反向索引是几?
6
-4
字符串-索引
Python使用一种“切片”方法来访问字符串中的子串
切片时用两个下标索引值作为首、尾位置,中间用冒号分隔,选取首尾间的子字符串
切片时下标索引值对应字符串的位置如下图所示。如b[2:5]='ICE'
S L I C E O F S P A M
[开始:结尾]
索引值指的是刀在哪里“切下”
1
0
2
[:
5
-1
-2
:]
序列的开始用“[:” ,结尾用“:]”
11
字符串-切片
设字符串长度为n,则切片索引的0与正整数值:0,1,2,…,n
切片索引的负整数值:-n,…,-2,-1
字符串-切片
还可以用三索引值访问子字符串:
<字符串>[<首址>:<尾址>:<步长>]
b='0123456789'
右边是三索引访问子串的示例
由此可见,Python的子字符串访问方式非常丰富,体现了Python对序列数据处理的强大功能。
>>> b[1:10]
'123456789'
>>> b[1:10:2]
'13579'
>>> b[::3]
'0369'
>>> b[3::2]
'3579'
>>> b[:8:2]
'0246'
字符串-切片
宝典P31第7题
已知s=”人生苦短,我用Python”,则
s[1]=___________________________,
s[2:4]=___________________________,
s[:4]=___________________________,
s[5:]=___________________________,
s[-6:]=___________________________,
s[::3]=___________________________,
“生”
“苦短”
“人生苦短”
“我用Python”
“Python”
“人短用tn”
Python基本数据结构——(2)列表
Python序列类型2:列表(List)
列表是可变数据。一个列表被创建后,可以直接修改列表中的元素值。列表的大小是可变的,可以根据需要增加或缩小。
列表中包含的对象可以是数字、字符串、甚至列表本身(即列表嵌套)等,同一列表中的各个元素没有任何限制
列表用一对方括号[]作为分界符,数据与数据之间用逗号分隔
全部是整数类型。
全部是字符串,但是是分离的字符串。
该列表中的元素包括整数、字符串,还嵌套另一个列表。
列表-赋值
(1)列表的赋值
基本格式:列表名=[ 数据,数据,…… ]
合并运算:L1+L2(合并运算必须是两个列表)
[1,2,3]+[5,6] 的计算结果为[1,2,3,5,6]
而[1,2,3]+5是一个错误的语句,类型不匹配
重复运算:L*n或n*L
如果L=[1,2,3],则3*L的计算结果为[1,2,3,1,2,3,1,2,3]
n=10;L=n*[0],则L的值为[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
包含运算:in 或 not in
如果L=[1,2,[3]],则 1 in L 或[3] in L的值为True,
而3 in L的值为False
列表-基本运算
> > > info= ["BH60018", "苹果", 50]
> > > info [2]
50
> > >info [0: 2]
['BH60018', '苹果']
思考:还有其他的方法吗?
列表-索引
列表的索引基本格式:列表名[索引号]
info[-1]
info[-3,-1]
练一练
注:空格在python中也占一位索引号。
列表-切片
字符串、列表的切片操作 格式:[start:end:step]
功能:返回从索引位置start到索引位置end且以step为步数的子序列。
(不包含索引位置end的元素)(步长没写时,默认步长为1。步长为正,说明正向索引;步长为负,则为反向索引)
思考:如何得到“《唐人街探案3》”,“《你好,李焕英》”这两部电影?
思考:如何反向索引输出 “《唐人街探案3》”,“《你好,李焕英》”两部电影?
-6
-5
A
B
C
D
-4

列表-切片
添加列表元素
(1)append方法:把一个元素加到列表的最后。
基本格式:列表名.append(数据)
添加元素
L=[1,2,3,4,5]分别执行下列命令后
L.
添加列表元素
(2)extend方法:把另一个序列对象合并到列表的末尾
基本格式:列表名.extend( [ 数据 , 数据 ,数据 ] )
添加元素
语句错误:必须添加序列对象
序列对象都是一系列的数据组成的集合,主要包括:
字符串(str)、列表(list)、字典(dict)、
元组(tuple)
添加列表元素
(3)insert方法:把一个元素加到列表的任意位置。
基本格式:列表名.insert( 索引号,数据 )
添加元素
L.insert(i,x) 在列表的i处插入一个值为x的元素
删除列表元素
(1)用del命令(delete,删除的缩写)从列表中删除元素。
基本格式:del 列表名[ 索引号 ]
删除列表元素
(2)用pop()方法移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
基本格式:列表名.pop(索引号)
删除列表元素
(3)用remove()方法移除列表中某个值的第一个匹配项。
基本格式:列表名.remove (数据)
更新或添加列表元素
(1)列表是可变数据,可以直接对列表元素进行修改。
基本格式:列表名[索引号]=数据
搜索元素
L.index(x) 返回列表中第1个值为x的索引值
基本格式:列表名.index(指定检索的数据,开始索引,结束索引)
L=[1,2,3,4,1,2,3,1,2,1]
返回第1个2的位置
返回从索引值5开始的第1个2的位置
返回从索引值在6-7范围内的
第1个2的位置
搜索列表元素
反转与排序
列表名.reverse()列表反转
列表名.sort()列表排序
反转列表、列表排序
Python基本数据结构——(3)字典Dictionary
日常生活中到处都存在映射,在数据处理中作用非常大
学号:姓名
学号:(姓名,身高,体重,...)
书号:(书名,价格,出版社,...)
民族编号:民族名称
字典(dictionary)是python中唯一一种映射类型,字典中的键值对是无序的。
(3)字典
图3.2.5 字典结构示例
>>>dic={”铅笔”:71,”钢笔”:59,”橡皮”:98,”尺子”:92}
>>>print(dic[“铅笔”])
71
这部分程序中第一行语句创建了一个名为dic的字典,共有4个元素,
第1个元素包含了键“铅笔"和值71,
第2个元素包含了键"钢笔"和值59······
第二行输出字典dic中键”铅笔”对应的值。
Python基本数据结构——(3)字典Dictionary
字典的概念:
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型,是python中唯一一种映射类型,采用“键:值”对形式存储数据,每个“键:值”对之间用逗号分割,整个字典包括在"{ }"中。示例:
dict={“name”:”百度”,”likes”:123”,”url”:www.”}
字典的特点:
①字典元素的“键”必须是唯一的,用字符串或数值来表示;
“值”则可以是任意类型的数据。
②列表是有序的对象集合;字典是无序的对象集合,“in”运算符的速度比列表要快得多,但是不能使用索引来获取字典元素,只能使用元素的“键”来访问对应的“值”。
key in D 包含运算只针对所有键,如
D={'a':1,'b':2,'c':3}
'a' in D -> True
1 in D -> False
字典-基本运算
同一字典内部,不同二元组的“键”的数据类型可以不同,值也类似。
字典元素的“键”必须是唯一的,用字符串或数值来表示;
“值”则可以是任意类型的数据。
创建字典
一步创建
分步创建
字典项的添加与修改:
命令形式:<字典名>[key]=value
这个命令有双重含义:
1)原字典中无该key项目时,则添加该项目
2)原字典中有该key项目时,则用新项内容覆盖旧项内容,即修改
D={'quantity':4,'food':'Spam', 'color':'pink'}
执行:D['color']='red'后, D['color'] -> 'red'
再执行D['weight']=500后, D['weight'] -> '500'
添加、修改字典项
字典项的批量更新:
命令形式:字典名1.update(字典名2)
update(d1)将字典d1添加到原字典中,注意不能有重复的key,如有重复key,则新value覆盖旧value
添加、修改字典项
字典项的删除:
(1)命令形式:del <字典名>[key]
这个命令是删除一个“键值对” :
字典键值对只剩2项了
删除字典项目
(2)命令形式:字典名.pop(key) 返回key对应的值,并删除该二元组项目
(3)命令形式:字典名.popitem() 返回并删除字典中的最后一个键值对
字典项的访问:
1、访问字典项(类似列表的索引,下标采用key值):
命令形式:<字典名>[key] ->返回字典中与该key值对应的value值
2、字典名.items() 以列表返回可遍历的键值对(用元组表示)
D={'quantity': 4, 'food': 'Spam', 'color': 'pink'}
D.items()的返回值是一个列表,列表中嵌套3个元组(以下是运行结果):
3、字典名.keys() 返回字典所有的键
4、字典名.values() 返回字典所有的值
访问字典项
列表是有序的对象集合:字典是无序的对象集合
二者相同点:都属于可变对象的属性,都能够原位改变
二者的不同点:字典中的元素是通过键key来存取的(因此不能分片),
而列表通过索引存取(可分片)
字典用"{ }"标识,字典由索引(key)和它对应的值value组成。 key:value
列表&字典
《精品同步AB练》P99 第12题
dic_book[“《飘》”]
dic_book[“《活着》”]=50
dic_book[“《小王子》”]=55
del dic_book[“《巴黎圣母院》”]
或者 dic_book.pop(“《巴黎圣母院》”)
《精品同步AB练》P99 第13题
[100,10]
《精品同步AB练》P99 第14题
chinese_zodiac[“牛”]=“丑”
chinese_zodiac[“龙”]=“辰”
del chinese_zodiac[“猫”] 或者 chinese_zodiac.pop(“猫”)
chinese_zodiac[“鼠”]=“子”
《宝典》P31
A
C
B
D
D
A
C
C
C
C

展开更多......

收起↑

资源预览