Python列表、元组和字典_第1页
Python列表、元组和字典_第2页
Python列表、元组和字典_第3页
Python列表、元组和字典_第4页
Python列表、元组和字典_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

案例导入案例一:小明是辅导员,在学校被分派了给学生分配兴趣小组的任务,他想通过编写程序完成随机分配,将N位学生随机分配给M个兴趣小组。如果你是小明,请问你将会在程序中如何保存同学名单与分组的信息?第6章列表、元组和字典案例二:小明作为辅导员,为了方便与班上的同学联系,他想制作一个电子通讯录。如果你是小明,请问你将会在程序中如何保存同学的电话号码等通讯信息?1列表的嵌套元组(Tuple)字典(Dictionary)目录列表(List)2346.1列表(List)列表既是Python中最基本的数据结构又是最常用的数据类型。我们可以把列表看作一个大的表格,表格中的每个元素都分配一个数字-它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。从上面的例子可以看到,列表的数据项不需要具有相同的类型,可以存储丰富的信息。对于列表的其他特性,我们接下来进行详细的学习。如下所示,我们创建一个person列表,第0、1、2个元素分别是一个人的名字、性别、年龄:person=['Xiao','Male',18]6.1列表(List)访问列表元素我们可以根据下标访问列表中的单个元素,如下:列表的介绍>>>list_1=[1,4,9,16,25]>>>list_1[0]1>>>list_1[1]4倒序访问:>>>list_1[-1]256.1列表(List)列表的介绍访问列表元素>>>list_1[1:3][4,9]>>>list_1[-3:][9,16,25]>>>list_1[-3:4][9,16]6.1列表(List)不同于String,列表在Python中是可变的,我们可以更新列表中的内容。以下,我们通过append()方法来在列表的末尾添加一个元素:>>>list_2=[]>>>list_2.append('Hadoop')>>>list_2.append('Spark')>>>list_2['Hadoop','Spark']列表的介绍更新列表6.1列表(List)也可以通过以下方式,在list的尾部添加一个列表的元素:>>>list_2=list_2+['Flume','Kafka']>>>list_2['Hadoop','Spark','Flume','Kafka']列表的介绍更新列表6.1列表(List)还可以修改列表中的元素:>>>list_2[3]='Redis'>>>list_2['Hadoop','Spark','Flume','Redis']列表的介绍更新列表6.1列表(List)当然还可以一次性修改列表中多个位置连续的元素:>>>listlist_2[1:3]=['S','F']>>>list_2['Hadoop','S','F','Redis']列表的介绍更新列表6.1列表(List)删除操作也是必不可少的:>>>list_3=['physics','chemistry','mathmatics']>>>dellist_3[1]>>>list_3['physics','mathmatics']列表的介绍删除列表元素6.1列表(List)通常我们用循环语句可以很容易地遍历列表中的数据并对其进行处理,

列表的循环遍历我们首先创建列表list如下:>>>list=['apple','banana','grape','peach','orange','pear','strawberry']接下来我们以for循环为例,介绍Python中列表的循环遍历。6.1列表(List)循环中轮流取出元素的值:

列表的循环遍历按元素遍历>>>list=['apple','banana','grape','peach','orange','pear','strawberry']>>>forfruitinlist:... print(fruit)...applebananagrapepeachorangepearstrawberry6.1列表(List)按下标遍历我们还可以通过len()计算出list的长度,也即是list下标的取值范围,循环中通过下标访问元素:>>>foriinrange(len(list)):... print(list[i])

列表的循环遍历6.1列表(List)使用enumerate遍历循环中轮流取出元素的值:

列表的循环遍历>>>fori,valinenumerate(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:6.1列表(List)Python列表的函数

列表的常见操作操作符是函数的一种,以下“+”号用于组合列表,“*”号用于重复列表。Python表达式结果描述len([1,2,3])3长度[1,2,3]+[4,5,6][1,2,3,4,5,6]组合['Hi!']*4['Hi!','Hi!','Hi!','Hi!']重复3in[1,2,3]True元素是否存在于列表中forxin[1,2,3]:printx,123迭代表6-1Python列表脚本操作符6.1列表(List)Python还包含以下常用函数:

列表的常见操作表6-2Python列表内置函数6.1列表(List)Python列表的方法

列表的常见操作表6-3Python列表内置方法序号方法描述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()反向列表中元素9list.sort(cmp=None,key=None,reverse=False)对原列表进行排序1列表的嵌套元组(Tuple)字典(Dictionary)目录列表(List)2346.2列表的嵌套在上一节的内容中,我们已经学会了什么是列表。列表里面的元素可以包含另一个列表吗?答案是肯定的。我们本节来了解列表的嵌套。什么是列表的嵌套列表嵌套案例—分配学生到不同兴趣小组6.2列表的嵌套我们首先创建两个列表list_1和list_2如下:>>>list_1=[‘Iamainnerlist’]>>>list_2=[‘Iamaouterlist’]接下来我们将list_1放入list_2中:>>>list_2.append(list_1)>>>list_2['Iamaouterlist',['Iamainnerlist']]以上就是一个最简单的列表的嵌套的例子。什么是列表的嵌套6.2列表的嵌套什么是列表的嵌套依照以上方法,我们可以任意在列表中嵌套列表,以下代码是对任意多重嵌套列表的遍历:>>>defprintlist(list):>>>defprintlist(list):...'''...现有一个列表,里面元素包括数字、字母等元素以及包含这类元素的列表,现在我们输出这个列表中的所有非列表元素,如:[[1,2,3],2,3,[1,3,[12,22]],'a',12],输出:[1,2,3,2,3,1,3,12,22,'a',12]6.2列表的嵌套什么是列表的嵌套2、列表嵌套案例—分配学生到不同兴趣小组

一个学校,有3个兴趣小组,现在有8位学生等待小组的分配,请编写程序,完成随机的分配?有3个兴趣小组,然后每个兴趣小组将包含随机分配的小组成员,需要用到列表的嵌套,如:school_teams=[[小组1],[小组2],[小组3]]什么是列表的嵌套2、列表嵌套案例—分配学生到不同兴趣小组什么是列表的嵌套

另外,我们还学要一个普通的列表保存全体学生的名单:student_names=["李小明","王华","吴小莉","张三","李四","牛二","王五","吴六"]最后,我们引入随机函数来帮组我们做分配。函数random.randint(0,2)将随机产生数字0~2来作为小组1~3在school_teams中的下标。具体代码如下:1列表的嵌套元组(Tuple)字典(Dictionary)目录列表(List)2346.3元组(Tuple)Python的元组与列表类似,不同之处在于元组的元素不能修改,且元组使用小括号,列表使用方括号。由于元组是不可修改的,其主要作用是作为参数传递给函数调用、或是从函数调用那里获得参数时,保护其内容不被外部接口修改。下面我们主要来学习元组的创建和访问。创建一个元组:>>>tuple_1=(1,'physics',98)创建一个空元组:>>>tuple_2=()创建一个元素的元组:>>>tuple_3=(1,)6.3元组(Tuple)访问一个元组:>>>tuple_1[0]1>>>tuple_1[1]'physics'>>>tuple_1[2]98元组的连接:>>>tup1=(1,2)>>>tup2=('a','b')>>>tup1+tup2(1,2,'a','b')表6-4Python元组内置函数序号方法描述1len(tuple)计算元组元素个数

2max(tuple)返回元组中元素最大值3min(tuple)返回元组中元素最小值4tuple(seq)将列表转为元组1列表的嵌套元组(Tuple)字典(Dictionary)目录列表(List)2346.4、字典(Dictionary)字典是一种通过名字或者关键字引用的数据结构,也就是说我们给一个字典里面的每个值都取了名字—也就是键,在这个字典中,我们可以通过这个名字访问对应的数据—值。在一个字典中,键是不重复的,不同建对应的值可以是相同的。字典介绍字典的常见操作6.4、字典(Dictionary)字典介绍字典的每个键值key=>value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{}中,格式如下所示:d={key1:value1,key2:value2}比如我们可以创建一个字典,用于做我们的电话簿:>>>tel_book={'Alice':'2341','Beth':'9102','Cecil':'3258'}>>>tel_book{'Alice':'2341','Beth':'9102','Cecil':'3258'}现在我们想知道Alice的电话号码,我们可以根据“Alice”这个名字访问:>>>tel_book['Alice']'2341'6.4、字典(Dictionary)字典介绍当然,我们还可以用字典来描述某个事物的各个属性,比如一个学生的信息:>>>student={'Name':'Lily','Age':19,'Sex':'Female','Class':'3163'}>>>student{'Name':'Lily','Age':19,'Sex':'Female','Class':'3163'}6.4、字典(Dictionary)字典介绍如果我们想知道学生的姓名、年龄等,将属性作为键来访问对应的值即可: >>>student >>>student['Name'] 'Lily' >>>student['Age'] 19字典可以直接修改已有属性的值,比如我们的Lily长大了一岁: >>>student['Age'] 19 >>>student['Age']=student['Age']+1 >>>student['Age'] 20还可以添加新属性、删除旧属性。我们删除Lily的班级年级信息,添加上住址: >>>delstudent['Class'] >>>delstudent['Grade'] >>>student['Address']='FlowerPark111' >>>student{'Name':'Lily','Age':20,'

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论