(共18张PPT)
数据与结构
第一课时
第 1 单元
3.2
学习目标
★熟悉队列结构的概念和特点, 能够使用Python语言对队列进行操作。
★了解树、 图结构的基本概念及特点。
★能够比较不同数据结构的特点, 会选用合适的数据结构组织数据解决简单问题。
随着互联网技术的发展,网上购物已经成为了人们的日常习惯。我们一起围绕网上购物,认 识相关数据的组织方法, 了解数据之间的关系, 理解几种典型的数据结 构, 为利用数据、 实现数据的价值做准备。
在网上购物时,在我们提交订单后, 网页上就会显示订单数据。请你参照图3.2.1所示的订单数据或者你自己的购物订单数据填写表3.2.1。
活动1 了解订单数据
请网购网站中的数据及数据类型填入表中。
网站名称 订单中的数据 Python中对应的数据类型
商品名称 字符串
数据类型
网站名称 订单中的数据 Python中对应的数据类型
电商网站 商品名称 字符串
单价 浮点型
数量 整形
学生信息表 姓名 字符串
年龄 整形
家庭住址 字符串
Python中的数据类型
在 Python语言中, 有整数(int)、浮点数(float)、字符串(str)、布尔(bool)等数据类型。
数据类型
简单数据类型:简单数据类型不能分解成更小的数据类型。
复合数据类型:复合数据类型则由简 单数据类型或者复合数据类型组成。
在Python语言中, 整数(int)、浮点数(float)、 字符串(str)、布尔(bool)属于简单数据类型,列表(list)、字典(dict)等属于复合数据类型。
Python中的简单数据类型
整形(int)
浮点型(float)
字符串(str)
布尔(bool)
表示整数,包括正整数、负整数和0
浮点数由整数部分和小数部分组成。
加了引号(“”)的都被认为是字符串。
用于逻辑运算,它只有两个值:True(真)和False(假)。
List = [2.5,6,“张三”,“男”,130,“hello”,0,“0.36”]
想一想,上面列表中包含哪些数据类型的数据?
练一练
>>>type(8) #type()函数返回数据的类型
#返回‘int’类型
>>>type(3.14) #type()函数返回数据的类型
#返回‘float’类型
>>>type(‘thank you!’) #type()函数返回数据的类型
#返回‘str’类型
>>>type(1<2) #type()函数返回数据的类型
#返回‘bool’类型
>>>type(3-2j) #type()函数返回数据的类型
#返回‘complex’类型
Python中的复合数据类型
在Python语言中,复合数据类型有元组(tuple)、集合(set)、字典(dict)等。
每个订单数据包括商品名称、单价、数最、金额、收货地址等基本数据 项,所以订单数据需要抽象为复合数据类型。
OrderList = [“语文”,28.66,1,34.66,“新疆温宿县第一中学”]
上述列表OrderList中“语文”、“新疆温宿县第一中学”是字符串(str)数据类型,28.66和34.66是浮点型(float)数据类型,1是整形(int)数据类型。字符串数据不能参与加减乘除运算,如,“1”+“2”=“12”,而不是3。字符串运算中的“+”是连接符,不是加号。
1.例如:整数运算
1+2=3
2.例如:字符串运算
“1”+“2”=“12”
Python中的复合数据类型
1.元组
某用户预订的商品编号为IDO010230、单价为15.68元,数量为36,可将这3个不同类型的简单数据组织成“元组”复合数据类型:
>>>BookInfo0=(‘ID0010230’,15.68,36)
>>> type(BookInfo0)
#返回元组类型
另一用户预订的商品编号为ID2315937、单价为20元,数量为2,可记作:
>>>BookInfo1=(‘ID2315937’,20,2)
>>>BookInfo1[1]
20 #返回元组BookInfo1中索引为1的项的值
Python中的复合数据类型
2.列表
订单汇总,也可以按订单产生的先后顺序组成一个列表(列表里的项是有顺序编号的):
>>> BookList=[BookInfo0,BookInfo1]
>>> type(BookList)
#返回列表类型
>>>BookList[o](‘ID0010230’,15.68,36)
>>>BookList[1](‘ID2315937’,20,2)
>>> BookList[0][1]*BookList[0][2]+BookList[1][1]*BookList[1][2]
604.4 8#返回计算结果
Python中的复合数据类型
3.集合
订单汇总,可以定义为一个集合(集合里的项称为元素,彼此之间没有顺序):
>>>BookSet={BookInfo0,BookInfol}
>>> type (BookSet)
#返回集合类型
>>>BookSet{(‘ID2315937’, 20,2),(‘ID0010230',15.68,36)} #返回集合的值
>>>BookInfo0 in BookSet #测试元素BookInfo0是否属于集合BookSet
True #返回逻辑真
Python中的复合数据类型
4.字典
字典Python中标准数据类型之一,它也是容器类型,可以存储不同的数据,并且具有可变性。字典顾名思义,就是拥有类似字典的特性,通过“键”能够快速查找对应的“值”。这种基本的数据结构称为“键值对”。广义上来说,其他标准数据类型中也存在“键值对”,只是它们的键只能是索引号,而字典的键可以是不可变的数据类型(数字、字符串和元组)。
实例1
tel = dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
print(tel) #输出结果为:
{'sape': 4139, 'guido': 4127, 'jack': 4098}#会发现直接转化成字典。key :value
实例2
tec ={x : x**2 for x in (2,4,6)}
print(tec) #输出结果
{2: 4,4: 16,6:36}
Python中的复合数据类型
复合数据类型 创建方法 相同点 不同点
元组 tuple=() 包含多种数据类型 元组中的元素是不能修改、删除、添加
列表 List = [ ] 列表的元素可以随时修改、删除或添加
集合 Set = { } 集合中的元素是无序的、不可重复的
字典 Dict = ([ ],[ ]) 字典是一个关联数组,是一个通过关键字索引的对象的集合,使用键-值(key-value)进行存储
网店接受了大量的订单,网店在处理订单时,一般采取“先下单,先发货” 的原则。 因此,所有的订单将按照下单的时间顺序放进一个列表中,先放进去的先发货,所有订单排列在一起,像是一群人在排队。
活动2 编制订单数据处理程序
Python程序可以实现以下功能:
1.提供 “添加订单 ”; #选择“1”后输入订单数据,程序将订单数据添加到订单数据表中
2.发货; #选择“2”后,程序 将当前订单列表中最早进入的数据删除
3.查看订单列表 #选择“3”后,可以显示当前订单列表中所有的订单数据
4.退出 #选择 “4"将结束运行
活动2 编制订单数据处理程序
1.1 我们身边的数据
Python程序可以实现以下功能:
1.提供 “添加订单 ”;
2.发货;
3.查看订单列表;
4.退出;
listque = [] #创建列表
x = 0
while(x!=4):
print(‘1.添加订单’)
print(‘2.发货’)
print(‘3.查看订单列表’)
print(‘4.退出’)
x = int(input(“请输入你的选择:”))
if x==1:
y=input(请输入订单编号:)
listque.append(“订单号”)
elif x==2:
if len(listque)==0:
print(“订单列表为空”)
else:
del listque[0]
elif x==3:
print(listque)
巩固提升
对列表list=[“apple”,“香蕉”,125,49,“25”]作如下操作:
1.列表中添加“葡萄”;
2.计算125与49的和,并打印;
3.删除列表中的字符串“25”;
判断对错:
1.数据“23.5”是浮点型数据;
2. (1+2=3),“1”+“2”=3
课堂小结
数据与结构
简单数据类型
复合数据类型
整形(int)
浮点型(float)
元组:tuple=()
列表:list=[ ]
结合:set={ }
字典:dict=([ ],[ ])
字符串(str)
布尔型(bool)