




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、案例导入案例一:小明是辅导员,在学校被分派了给学生分配兴趣小组的任务,他想通过编写程序完成随机分配,将N位学生随机分配给M个兴趣小组。如果你是小明,请问你将会在程序中如何保存同学名单与分组的信息?第6章 列表、元组和字典案例二:小明作为辅导员,为了方便与班上的同学联系,他想制作一个电子通讯录。如果你是小明,请问你将会在程序中如何保存同学的电话号码等通讯信息?第1页,共35页。1列表的嵌套元组(Tuple) 字典(Dictionary)目 录列表(List)234第2页,共35页。6.1 列表(List)列表既是Python中最基本的数据结构又是最常用的数据类型。我们可以把列表看作一个大的表格,
2、表格中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。从上面的例子可以看到,列表的数据项不需要具有相同的类型,可以存储丰富的信息。对于列表的其他特性,我们接下来进行详细的学习。如下所示,我们创建一个person列表,第0、1、2个元素分别是一个人的名字、性别、年龄:person = Xiao, Male ,18 第3页,共35页。6.1 列表(List)访问列表元素我们可以根据下标访问列表中的单个元素,如下:列表的介绍 list_1=1,4,9,16,25 list_101 list_11
3、4倒序访问: list_1-125第4页,共35页。6.1 列表(List)列表的介绍访问列表元素 list_11:34,9 list_1-3:9, 16, 25 list_1-3:49, 16第5页,共35页。6.1 列表(List)不同于String,列表在Python中是可变的,我们可以更新列表中的内容。以下,我们通过append()方法来在列表的末尾添加一个元素: list_2= list_2.append(Hadoop) list_2.append(Spark) list_2Hadoop, Spark列表的介绍更新列表第6页,共35页。6.1 列表(List)也可以通过以下方式,在l
4、ist的尾部添加一个列表的元素: list_2=list_2+Flume,Kafka list_2Hadoop, Spark, Flume, Kafka列表的介绍更新列表第7页,共35页。6.1 列表(List)还可以修改列表中的元素: list_23=Redis list_2Hadoop, Spark, Flume, Redis列表的介绍更新列表第8页,共35页。6.1 列表(List)当然还可以一次性修改列表中多个位置连续的元素: list list_21:3=S,F list_2Hadoop, S, F, Redis列表的介绍更新列表第9页,共35页。6.1 列表(List)删除操作也是
5、必不可少的: list_3=physics,chemistry,mathmatics del list_31 list_3physics, mathmatics列表的介绍删除列表元素第10页,共35页。6.1 列表(List)通常我们用循环语句可以很容易地遍历列表中的数据并对其进行处理, 列表的循环遍历我们首先创建列表list如下: list=apple,banana,grape,peach,orange,pear,strawberry接下来我们以for循环为例,介绍Python中列表的循环遍历。第11页,共35页。6.1 列表(List)循环中轮流取出元素的值: 列表的循环遍历按元素遍历 l
6、ist=apple,banana,grape,peach,orange,pear,strawberry for fruit in list: .print(fruit).applebananagrape peachorangepearstrawberry第12页,共35页。6.1 列表(List)按下标遍历我们还可以通过len()计算出list的长度,也即是list下标的取值范围,循环中通过下标访问元素: for i in range(len(list):.print(listi) 列表的循环遍历第13页,共35页。6.1 列表(List)使用enumerate遍历循环中轮流取出元素的值: 列
7、表的循环遍历 for i, val in enumerate(list):.print (序号:%s 值:%s % (i + 1, val).序号:1 值:apple序号:2 值:banana序号:3 值:grape序号:4 值:peach序号:5 值:orange序号:6 值:pear序号:7 值:strawberry enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。我们还可以结合enumerate()来遍历list:第14页,共35页。6.1 列表(List)Python列表的函数 列表的
8、常见操作操作符是函数的一种,以下“+”号用于组合列表,“*”号用于重复列表。Python 表达式结果描述len(1, 2, 3)3长度1, 2, 3 + 4, 5, 61, 2, 3, 4, 5, 6组合Hi! * 4Hi!, Hi!, Hi!, Hi!重复3 in 1, 2, 3True元素是否存在于列表中for x in 1, 2, 3: print x,1 2 3迭代表6-1 Python列表脚本操作符第15页,共35页。6.1 列表(List)Python还包含以下常用函数: 列表的常见操作表6-2 Python列表内置函数第16页,共35页。6.1 列表(List)Python列表的
9、方法 列表的常见操作表6-3 Python列表内置方法序号方法描述1list.append(obj)在列表末尾添加新的对象 2list.count(obj)统计某个元素在列表中出现的次数3list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)4list.index(obj)从列表中找出某个值第一个匹配项的索引位置5list.insert(index, obj)将对象插入列表6list.pop(index=-1)移除列表中一个元素(默认最后一个),并且返回该元素值7list.remove(obj)移除列表中某个值的第一个匹配项8list.reverse
10、()反向列表中元素9list.sort(cmp=None, key=None, reverse=False)对原列表进行排序第17页,共35页。1列表的嵌套元组(Tuple) 字典(Dictionary)目 录列表(List)234第18页,共35页。6.2 列表的嵌套在上一节的内容中,我们已经学会了什么是列表。列表里面的元素可以包含另一个列表吗?答案是肯定的。我们本节来了解列表的嵌套。什么是列表的嵌套列表嵌套案例分配学生到不同兴趣小组第19页,共35页。6.2 列表的嵌套我们首先创建两个列表list_1和list_2如下: list_1=I am a inner list list_2=I
11、am a outer list接下来我们将list_1放入list_2中: list_2.append(list_1) list_2I am a outer list, I am a inner list以上就是一个最简单的列表的嵌套的例子。什么是列表的嵌套第20页,共35页。6.2 列表的嵌套什么是列表的嵌套依照以上方法,我们可以任意在列表中嵌套列表,以下代码是对任意多重嵌套列表的遍历:def printlist(list): def printlist(list):. . 现有一个列表,里面元素包括数字、字母等元素以及包含这类元素的列表,现在我们输出这个列表中的所有非列表元素,如:1,2,
12、3,2,3,1,3,12,22,a,12,输出:1, 2, 3, 2, 3, 1, 3, 12, 22, a, 12第21页,共35页。6.2 列表的嵌套什么是列表的嵌套第22页,共35页。2、列表嵌套案例分配学生到不同兴趣小组 一个学校,有3个兴趣小组,现在有8位学生等待小组的分配,请编写程序,完成随机的分配? 有3个兴趣小组,然后每个兴趣小组将包含随机分配的小组成员,需要用到列表的嵌套, 如:school_teams= 小组1, 小组2, 小组3 什么是列表的嵌套第23页,共35页。2、列表嵌套案例分配学生到不同兴趣小组什么是列表的嵌套 另外,我们还学要一个普通的列表保存全体学生的名单:
13、student_names = 李小明,王华,吴小莉,张三,李四,牛二,王五,吴六 最后,我们引入随机函数来帮组我们做分配。函数random.randint(0,2)将随机产生数字02来作为小组13在school_teams中的下标。具体代码如下:第24页,共35页。1列表的嵌套元组(Tuple) 字典(Dictionary)目 录列表(List)234第25页,共35页。6.3 元组(Tuple)Python的元组与列表类似,不同之处在于元组的元素不能修改,且元组使用小括号,列表使用方括号。由于元组是不可修改的,其主要作用是作为参数传递给函数调用、或是从函数调用那里获得参数时,保护其内容不被
14、外部接口修改。下面我们主要来学习元组的创建和访问。创建一个元组: tuple_1=(1,physics,98)创建一个空元组: tuple_2=( )创建一个元素的元组: tuple_3=(1, )第26页,共35页。6.3 元组(Tuple)访问一个元组: tuple_101 tuple_11physics tuple_1298元组的连接: tup1=(1,2) tup2=(a,b) tup1+tup2(1, 2, a, b)表6-4 Python元组内置函数序号方法描述1len(tuple)计算元组元素个数 2max(tuple) 返回元组中元素最大值 3min(tuple) 返回元组中元
15、素最小值 4tuple(seq) 将列表转为元组 第27页,共35页。1列表的嵌套元组(Tuple) 字典(Dictionary)目 录列表(List)234第28页,共35页。6.4、字典(Dictionary)字典是一种通过名字或者关键字引用的数据结构,也就是说我们给一个字典里面的每个值都取了名字也就是键,在这个字典中,我们可以通过这个名字访问对应的数据值。在一个字典中,键是不重复的,不同建对应的值可以是相同的。字典介绍字典的常见操作第29页,共35页。6.4、字典(Dictionary) 字典介绍字典的每个键值 key=value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个
16、字典包括在花括号 中 ,格式如下所示:d = key1 : value1, key2 : value2 比如我们可以创建一个字典,用于做我们的电话簿: tel_book= Alice: 2341, Beth: 9102, Cecil: 3258 tel_bookAlice: 2341, Beth: 9102, Cecil: 3258现在我们想知道Alice的电话号码,我们可以根据“Alice”这个名字访问: tel_bookAlice2341第30页,共35页。6.4、字典(Dictionary) 字典介绍当然,我们还可以用字典来描述某个事物的各个属性,比如一个学生的信息: student =
17、 Name:Lily,Age:19,Sex:Female,Class:3163 studentName: Lily, Age: 19, Sex: Female, Class: 3163第31页,共35页。6.4、字典(Dictionary) 字典介绍如果我们想知道学生的姓名、年龄等,将属性作为键来访问对应的值即可: student studentNameLily studentAge 19字典可以直接修改已有属性的值,比如我们的Lily长大了一岁: studentAge 19 studentAge=studentAge+1 studentAge20还可以添加新属性、删除旧属性。我们删除Lily
18、的班级年级信息,添加上住址: del studentClass del studentGrade studentAddress=Flower Park 111 studentName: Lily, Age: 20, Sex: Female, Address: Flower Park 111第32页,共35页。6.4、字典(Dictionary) 字典的常见操作本节我们分函数和方法来介绍字典的常见操作。 表6-5 Python字典内置函数第33页,共35页。6.4、字典(Dictionary) 字典的常见操作表6-6 Python字典内置方法第34页,共35页。6.4、字典(Dictionary) 字典的遍历字典的遍历可以分三种,根据键遍历、根据值遍历、根据字典项遍历。我们先创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 婚前财产债务不动产约定协议
- 2025型钢便桥租赁合同
- 2025供暖设备及配件供货合同
- 2025集体土地使用权合同
- 公司合作解散协议书
- 不给补缴社保协议书
- 2025年03月国家应急管理部化学品登记中心拟聘人员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 宫斗片项目风险分析和评估报告
- 镇江市高等专科学校《大数据库》2023-2024学年第二学期期末试卷
- 新疆大学《食品发酵与酿造工艺学实验》2023-2024学年第二学期期末试卷
- 安全生产教育培训制度管理办法
- 抽油井检泵作业课件
- 2022年06月2022年广东肇庆广宁县司法局招考聘用政府雇员名师点拨卷V答案详解版(3套版)
- 《HSK标准教程3》第5课课件
- HSK标准教程4上第1课课件
- 民俗学概论 第一章 概述课件
- 养老机构行政值班查房记录表格
- 干粉灭火器点检记录表(样表)
- 伍光和自然地理学4版知识点总结课后答案
- 110kv变电站电气主接线设计资料全
- 华中科技大学版五年级信息技术教案
评论
0/150
提交评论