资源描述:
《Python常见数据结构整理.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Python常见数据结构详解这篇文章主要介绍了Python常见数据结构,需要的朋友可以参考下本文详细罗列归纳了Python常见数据结构,并附以实例加以说明,相信对读者有一定的参考借鉴价值。总体而言Python中常见的数据结构可以统称为容器(container)。而序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。一、序列(列表、元组和字符串)序列中的每个元素都有自己的编号。Python中有6种内建的序列。其中列表和元组是最常见的类型。其他包括字符串、Unicode字符串、buffer对象和xrange对象。下面重
2、点介绍下列表、元组和字符串。1、列表列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。(1)、创建通过下面的方式即可创建一个列表:?1234list1=['hello','world']printlist1list2=[1,2,3]printlist2输出:?12['hello','world'][1,2,3]可以看到,这中创建方式非常类似于javascript中的数组。(2)、list函数通过list函数(其实list是一种类型而不是函数)对字符串创建列表非常有效:?12list3
3、=list("hello")printlist3输出:?1['h','e','l','l','o']2、元组元组与列表一样,也是一种序列,唯一不同的是元组不能被修改(字符串其实也有这种特点)。(1)、创建?1t1=1,2,323456t2="jeffreyzhao","cnblogs"t3=(1,2,3,4)t4=()t5=(1,)printt1,t2,t3,t4,t5输出:?1(1,2,3)('jeffreyzhao','cnblogs')(1,2,3,4)()(1,)从上面我们可以分析得出:a、逗号分隔一些值,元组自动创建完成;b
4、、元组大部分时候是通过圆括号括起来的;c、空元组可以用没有包含内容的圆括号来表示;d、只含一个值的元组,必须加个逗号(,);(2)、tuple函数tuple函数和序列的list函数几乎一样:以一个序列(注意是序列)作为参数并把它转换为元组。如果参数就算元组,那么该参数就会原样返回:?12345678t1=tuple([1,2,3])t2=tuple("jeff")t3=tuple((1,2,3))printt1printt2printt3t4=tuple(123)printt45输出:?123(1,2,3)('j','e','f','
5、f')(1,2,3)Traceback(mostrecentcalllast): File"F:Pythontest.py",line7,in t4=tuple(123)TypeError:'int'objectisnotiterable3、字符串(1)创建?123str1='Helloworld'printstr1printstr1[0]45forcinstr1: printc输出:?12345678910111213HelloworldHHello world(2)格式化字符串格式化使用字符串格式化操
6、作符即百分号%来实现。?12str1='Hello,%s'%'world.'printstr1格式化操作符的右操作数可以是任何东西,如果是元组或者映射类型(如字典),那么字符串格式化将会有所不同。?123456strs=('Hello','world')#元组str1='%s,%s'%strsprintstr1d={'h':'Hello','w':'World'}#字典str1='%(h)s,%(w)s'%dprintstr1输出:?12Hello,worldHello,World注意:如果需要转换的元组作为转换表达式的一部分存在,那
7、么必须将它用圆括号括起来:?12str1='%s,%s'%'Hello','world'printstr1输出:?1234Traceback(mostrecentcalllast): File"F:Pythontest.py",line2,in str1='%s,%s'%'Hello','world'TypeError:notenoughargumentsforformatstring如果需要输出%这个特殊字符,毫无疑问,我们会想到转义,但是Python中正确的处理方式如下:?12str1='%s%%'%100p
8、rintstr1输出:?1100%对数字进行格式化处理,通常需要控制输出的宽度和精度:?1234567frommathimportpistr1='%.2f'%pi#精度2printstr1str1='%10f'%pi#字