Python编程基础-Python数据结构_第1页
Python编程基础-Python数据结构_第2页
Python编程基础-Python数据结构_第3页
Python编程基础-Python数据结构_第4页
Python编程基础-Python数据结构_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

Python编程基础06-2月-241Python数据结构之列表目录认识Python数据结构2

Python数据结构之元组3Python数据结构之字典4Python数据结构之集合5认识Python数据结构Python中的绝大部分数据结构可以被最终分解为三种类型:集合(Set),序列(Sequence),映射(Mapping)。这表明了数据存储时所需的基本单位,其重要性如同欧式几何公理之于欧式空间。序列是Python中最为基础的内建类型。它分为七种类型:列表、字符串、元组、Unicode字符串、字节数组、缓冲区和xrange对象。常用的是:列表(List)、字符串(String)、元组(Tuple)。映射在Python的实现是数据结构字典(Dictionary)。作为第三种基本单位,映射的灵活使得它在多种场合中都有广泛的应用和良好的可拓展性。集合是独立于标量,序列和映射之外的特殊数据结构,它支持数学理论的各种集合的运算。它的存在使得用程序代码实现数学理论变得方便。认识Python数据结构Python有4个内建的数据结构,它们可以统称为容器(container),因为它们实际上是一些“东西”组合而成的结构,而这些“东西”,可以是数字、字符甚至列表,或是它们的组合。认识Python数据结构数据结构列表(可变)元组(不可变)字符串(不可变)字典(不可变)集合(不可变)1.可变数据类型可以直接对数据结构对象的内容进行修改(并非是重新对对象赋值操作),即可以对数据结构对象进行元素的赋值修改、删除或增加等操作。由于可变数据类型对象能直接对自身进行修改,所以修改后的新结果仍与原对象引用同一个id地址值,即由始至终只对同一个对象进行了操作。2.不可变数据类型与可变数据类型不同,不可变数据类型不能对数据结构对象的内容进行修改操作(对对象当中的元素进行增加、删除和赋值修改)。若需要对对象进行内容修改,则需要对其变量名进行重新赋值,而赋值操作会把变量名指向一个新对象,新旧对象两者是引用两个不同的id地址值。1Python数据结构之列表目录认识Python数据结构2

Python数据结构之元组3Python数据结构之字典4Python数据结构之集合5Python数据结构之列表基本操作all_list=[1,'word',{'like':'pythom'},True,[1,2]]all_list=list((1,'word',{'like':'pythom'},True,[1,2]))长度:len(all_list)计数:all_list.count('word')下标:all_list.index('word')反转:all_list[::-1]或者all_list.reverse()合并:list1+list2重复:all_list*3判断元素是否存在:'word'inall_list切片与索引:all_list[0]all_list[-4]all_list[1:4]all_list[:3]1、列表中每个元素都是可变的;2、列表中的元素是有序的,每个元素对应一个位置;3、列表可以容纳Python中的任何对象。Python数据结构之列表列表的增删改查fruit=[1,'word',True,'pear']month=['January','February','March','April']增添fruit.append(‘July’)fruit.extend(month)fruit.insert(1,'grap')fruit.insert(-1,'apple')删除fruit.remove('grape')fruit.remove(fruit[0])fruit.pop(2)delfruit[0:2]

fruit.clear()#清空1'word'True'pear'0123-4-3-2-1修改fruit[0]=('orange')fruit2=fruit.copy()查找fruit.index('pear')

fruit[3]Python数据结构之列表函数名称函数说明list.append(x)添加一个元素x到列表list的末尾。list.extend(L)将参数中的列表L添加到自身的列表list的末尾。list.insert(i,x)在下标为i的位置前插入一个元素。list.remove(x)删除列表第一个值为x的元素。如果没有这样的元素会报错。list.pop(i)删除列表指定位置的元素并返回它。如果不输入这个参数,将删除并返回列表最后一个元素。list.count(x)统计元素x出现的次数。list.reverse()反转列表中的元素。list.index(x)返回列表第一个值为x的元素的下标。如果没有这样的元素会报错。list(enumerate(list))将list列表中每个元素的下标与对应元素合成新元素(i,list[i])。print([ifori,xinenumerate(list)ifx==3])找出所有元素x为3的下标。list.sort()对原列表进行排序,不能重新赋值。new_list=list.sorted()对原列表进行排序,可以重新赋值。列表内建函数1Python数据结构之列表目录认识Python数据结构2

Python数据结构之元组3Python数据结构之字典4Python数据结构之集合5Python数据结构之元组元组与列表和字符串一样,是序列的一种。而元组与列表的唯一不同的元组不能修改,元组和字符串都具有不可变性。列表的可变性可能更方便处理复杂问题,例如更新动态数据等,但很多时候不希望某些处理过程修改对象内容,例如敏感数据,这就需要元组的不可变性。tup=

('Google',

'Runoob',

1997,

2000)tup1=

(50,)#元组中只包含一个元素时,要在元素后面添加逗号长度:len(tup)计数:tup.count('Google')下标:tup.index('Google')反转:tup[::-1]合并:tup1+tup2重复:tup*3判断元素是否存在:'Google'intup切片与索引:tup[0]tup[1:4]tup[:3]元组解包:A,B,C,D=tup#将元组中各元素分别赋值给对应变量Python数据结构之元组元组内建函数函数名称函数说明tuple.count()记录某个元素在元组中出现的次数。tuple.index()获取元素在元组当中第一次出现的位置索引。sorted()创建一个对元素进行排序后的列表。len()获取元组长度,即元组元素个数。+将两个元组合并为一个元组。*重复合并同一个元组为一个更长的元组。1Python数据结构之列表目录认识Python数据结构2

Python数据结构之元组3Python数据结构之字典4Python数据结构之集合5Python数据结构之字典字典(Dictionary)是基础数据结构映射(Mapping)的一种。序列是按照顺序来存储数据的,而字典是通过键存储数据。字典的内部实现是基于二叉树(BinaryTree)的,数据没有严格的顺序。字典将键映射到值,通过键来调取数据。如果键值本来是有序的,那么我们不应该使用字典,如映射:直接用列表[‘A’,’B’,’C’]即可,字典的效率比列表差得多。但是在很多情形下,字典比列表更加适用。比如我们手机的通讯录(假设人名均不相同)可以使用字典实现,把人的名字映射到一个电话号码,由于名字是无序的,不能直接用一个列表实现,使用字典直接高效。Python数据结构之字典字典的增删改查code={'BIDU':'Baidu','SINA':'Sina','YOKU':'Youku'}code=dict([('BIDU','Baidu'),('SINA','Sina'),('YOKU','Youku')])插入code[‘QQ’]=‘tengxun’

code.update({'FB':'Facebook','TSLA':'Tesla'})删除

delcode['FB']code_QQ=code.pop(‘QQ’)

code.clear()#清空修改(赋值)

code['YOJKU']='Yoku'查找

code['FB']映射在Python的实现是数据结构字典1、键-值成对出现;2、键不能重复;3、键不可更改,值可修改;4、键来索引值。Python数据结构之字典字典的常用操作

code={'BIDU':'Baidu','SINA':'Sina','YOKU':'Youku'}len()测量字典中,键值对的个数

len(code)keys返回一个包含字典所有KEY的列表 code.keys()values返回一个包含字典所有value的列表 code.values()items返回一个包含所有(键,值)元祖的列表 code.items()has_key code.has_key(key)如果key在字典中,返回True,否则返回False。1Python数据结构之列表目录认识Python数据结构2

Python数据结构之元组3Python数据结构之字典4Python数据结构之集合5Python数据结构之集合Python有一种特殊的数据类型称为集合。因为它既不是序列也不是映射类型,更不是标量。集合是自成一体的类型。集合是唯一的,不可变的对象是一个无序集合。set1=

set([2,3,1,4,False,2.5,'one'])

set2={'A','C','D','B','A','B'}#创建可变集合set3=frozenset([3,2,3,‘one’,frozenset([1,2]),True])#创建不可变集合集合能够通过表达式操作符支持一般的数学集合运算。这是集合特有的操作,序列和映射不支持这样的表达式。Python数据结构之集合集合的并集由属于集合A或集合B的所有元素组成的集合,称为集合A和B的并集,数学表达式为A∪B={x|x∈A或x∈B}。在Python中可以使用符号“|”或者集合方法union函数来得出两个集合的并集。A={'足球','游泳','羽毛球','乒乓球'}B={'篮球','乒乓球','羽毛球','排球'}A|B#使用符号’|’获取并集A.union(B)#使用集合方法union函数获取并集Python数据结构之集合集合的交集同时属于集合A和B的元素组成的集合,称为集合A和B的交集,数学表达式为A∩B={x|x∈A且x∈B}。可以利用符号“&”或者集合方法intersection函数来获取两个集合对象的交集。A={'足球','游泳','羽毛球','乒乓球'}B={'篮球','乒乓球','羽毛球','排球'}A&B#使用符号’&’获取交集A.intersection(B)#使用集合方法intersection函数获取交集Python数据结构之集合集合的差集属于集合A而不属于集合B中的元素所构成的集合,称为集合A减集合B,数学表达式为A-B={x|x∈A,x∉B}。这个集合也称为集合A与集合B的差集。反过来,也有差集B-A={x|x∈B,x∉A}。在Python中可以简单地使用减号“-”来得到相应的差集,或者可以通过集合方法difference函数来实现。A={'足球','游泳','羽毛球','乒乓球'}B={'篮球','乒乓球','羽毛球','排球'}A-B#使用减号“-”来获取差集>>>A.difference(B)#使用集合方法difference函数获取差集Python数据结构之集合集合的异或集属于集合A或集合B,但不同时属于集合A和B的元素所组成的集合,称为集合A和B的异或集,其相当(A∪B)-(A∩B)。利用符号“^”或者集合方法symmetric_differenc

温馨提示

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

评论

0/150

提交评论