Python少儿趣味编程《第4课-元组和字典》课件(共17张PPT)

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

Python少儿趣味编程《第4课-元组和字典》课件(共17张PPT)

资源简介

(共17张PPT)
第4课 元组和字典
什么是元组?
元组和列表的区别: (1)元组是不可变的,而列表是可以修改其中的元素的;其次,元组用圆括号来表示的,而列表是使用方括号来表示的。
创建元组
>>>week=("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
>>> print(week)
('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
修改元组变量
元组一旦创建,不能修改其元素。
>>> print(week[1])
Tuesday
>>> week[1]="Tue"
Traceback (most recent call last):
File "", line 1, in
week[1]="Tue"
TypeError: 'tuple' object does not support item assignment
但可以修改元组变量
>>> week=("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
>>> print(week)
('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun')
获取元组的长度
使用len()方法可以获取元组的长度。
>>>week=("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
>>> len(week)
7
查找元组中单个元素的索引
>>>week=("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
>>> week.index("Friday")
4
数据类型转换函数list() 和tuple()
list()函数可以将元组转换为列表。
>>> week=list(week)
>>> print(week)
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
>>> week[0]="Mon"
tuple()函数可以将列表转换为元组。
>>> week=tuple(week)
>>> print(week)
('Mon', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')
什么是字典?
字典是Python中的另一种数据类型,和列表一样,它也可以存储一组数据。字典和列表的区别:(1)字典可以存储任意类型的对象(2)字典可以使用其他的数据类型作为索引,形成键—值对。
创建字典
>>>person={"name":"Johnson","age":9,"gender":"male","height":"140cm"}
>>> print(person)
{'name': 'Johnson', 'age': 9, 'gender': 'male', 'height': '140cm'}
>>> person["name"]
'Johnson'
>>> person["gender"]
'male'
字典特性
如果用字典里没有的键来访问值,Python会输出错误信息。
>>> person["grade"]
Traceback (most recent call last):
File "", line 1, in
person["grade"]
KeyError: 'grade’
字典中的元素是没有顺序的。
>>> fruits={100:"apple",105:"banana",8:"orange"}
>>> print(fruits)
{100: 'apple', 105: 'banana', 8: 'orange’}
字典特性
也可以先创建一个空字典,再逐行添加各个键—值对。
字典中的键是唯一的,如果有重复的键,后面的键—值对会替换前面的键—值对。但是,值不需要是唯一的,也就是说,不同的键可以拥有相同的值。
>>> person={}
>>> person["name"]="Johnson"
>>> person["age"]=9
>>> person["gender"]="male"
>>> person["height"]="140cm"
>>> print(person)
{'name': 'Johnson', 'age': 9, 'gender': 'male', 'height': '140cm’}
>>>fruits={100:"apple",105:"banana",8:"orange",100:"cherry",200:"banana"}
>>> print(fruits)
{100: 'cherry', 105: 'banana', 8: 'orange', 200: 'banana'}
修改和新增字典中的值
修改字典中的值的语法与访问字典中的值的语法类似,需要指定字典名和所要修改的值的键,再指定要和该键关联的新的值。
现在要把键为“age”的值从9 修改为8,并且打印出字典person。
向字典添加新的内容的方法就是增加新的键—值对。
>>>person={"name":"Johnson","age":9,"gender":"male","height":"140cm"}
>>> print(person)
{'name': 'Johnson', 'age': 9, 'gender': 'male', 'height': '140cm’}
>>> person["age"]=8
>>> print(person)
{'name': 'Johnson', 'age': 8, 'gender': 'male', 'height': '140cm’}
>>> person["grade"]=3
>>> print(person)
{'name': 'Johnson', 'age': 9, 'gender': 'male', 'height': '140cm', 'grade': 3}
删除键—值对
使用del语句将其删除。使用del语句时,指定字典名和要删除的键。
>>>person={"name":"Johnson","age":9,"gender":"male","height":"140cm"}
>>> print(person)
{'name': 'Johnson', 'age': 9, 'gender': 'male', 'height': '140cm’}
>>> del person["age"]
>>> print(person)
{'name': 'Johnson', 'gender': 'male', 'height': '140cm’}
也可以使用字典的clear()方法,把字典中全部的键—值对都删除掉。
>>> person.clear()
>>> print(person)
{}
返回指定键的值
使用get语句返回指定的键所对应的值,如果该键不在字典中,则返回默认值。
>>>person={"name":"Johnson","age":9,"gender":"male","height":"140cm"}
>>>print(person.get("name"))
Johnson
>>>print(person.get("weight"))
None
也可以指定一个需要的默认值。
>>> print (person.get("weight","unKnown"))
unKnown
字典转换为列表
keys()、values()和 items()这3个方法可以返回类似列表的值,分别对应于字典的键、值和键—值对。
>>>person={"name":"Johnson","age":9,"gender":"male","height":"140cm"}
>>>person.keys()
dict_keys(['name', 'age', 'gender', 'height'])
>>>list1=list(person.keys())
>>>list1
['name', 'age', 'gender', 'height']
>>>list2=list(person.values())
>>>list2
['Johnson', 9, 'male', '140cm']
>>>list3=list(person.items())
>>>list3
[('name', 'Johnson'), ('age', 9), ('gender', 'male'), ('height', '140cm')]
对字典的排序
字典是无法排序的,但是当有排序需求时,我们就可以把字典转化成列
表,把字典中的每一个键—值对转化为嵌入到列表中的两位元组,然后再进
行排序等操作。
>>>scoreDict={"John":82,"Christina":96,"Johnson":100,"Marry":73,"Emily":88,"Justin":92}
>>> scoreList=list(scoreDict.items())
>>> scoreList.sort()
>>> print (scoreList)
[('Christina', 96), ('Emily', 88), ('John', 82), ('Johnson', 100), ('Justin',92), ('Marry', 73)]
对字典的排序
sort()方法可以接受关键字为key的参数。我们可以通过将key指定为一个特殊的lambda表达式,从而指定用于排序的元素。
>>> scoreList.sort(key=lambda items: items[1])
>>> print(scoreList)
[('Marry', 73), ('John', 82), ('Emily', 88), ('Justin', 92), ('Christina', 96),('Johnson', 100)]
注意:lambda表达式用来创建匿名函数,它可以接收任意多个参数并且返回单个表达式的值。这个概念稍微有点复杂,我们只需要简单了解即可。
列表转换为字典
函数dict() 可以将嵌套列表转换为字典。
>>>list4=[["key1","value1"],["key2","value2"],["key3","value3"]]
>>> dict1=dict(list4)
>>> dict1
{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
“成绩单”示例程序
1.用字典存储数据
程序清单 4.1.py
2.修改字典中的数据
程序清单 4.2.py
3.向字典中添加数据
程序清单 4.3.py
4.对数据排序
程序清单 4.4.py
练习
1.创建一个名为animal的元组,其中包含dog、cat、sheep、cow、horse和duck。
2.请尝试把animal元组中第2个元素修改为mouse,看一下是否能够成
功。如果不能成功,想想这是为什么。
3.请告诉我们现在animal元组中有多少个元素并打印出来。
4.请创建一个名为timeTable的字典来记录星期一的课程,用键表示第
几节课,用值表示是什么课程。
5.请告诉我们星期一的第4 节课是什么课。
6.如果要将星期一的第2 节课改为体育课,请修改timeTable字典。

展开更多......

收起↑

资源预览