一、序列列表、元组和字符串序列中的每个元素都有自己的编号。Python中有6种内建的序列。其中列表和元组是最常见的类型。其他包括字符串、Unicode字符串、buffer对象和xrange对象。下面重点介绍下列表、元组和字符串。1、列表列表是可变的这是它区别于字符串和元组的最重要的特点一句话概括即列表可以修改而字符串和元组不能。1、创建通过下面的方式即可创建一个列表1234list1[hello,world]printlist1list2[1,2,3]printlist2输出12[hello,world][1,2,3]可以看到这中创建方式非常类似于javascript中的数组。2、list函数通过list函数其实list是一种类型而不是函数对字符串创建列表非常有效12list3list(hello)printlist3输出1[h,e,l,l,o]2、元组元组与列表一样也是一种序列唯一不同的是元组不能被修改字符串其实也有这种特点。1、创建123456t11,2,3t2jeffreyzhao,cnblogst3(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、元组大部分时候是通过圆括号括起来的c、空元组可以用没有包含内容的圆括号来表示d、只含一个值的元组必须加个逗号,2、tuple函数tuple函数和序列的list函数几乎一样以一个序列注意是序列作为参数并把它转换为元组。如果参数就算元组那么该参数就会原样返回12345678t1tuple([1,2,3])t2tuple(jeff)t3tuple((1,2,3))printt1printt2printt3t4tuple(123)printt45输出123(1,2,3)(j,e,f,f)(1,2,3)Traceback (most recent call last):File F:\Python\test.py, line 7, in modulet4tuple(123)TypeError: int object is not iterable3、字符串1创建12345str1Hello worldprintstr1printstr1[0]forcinstr1:printc输出12345678910111213Hello worldHHelloworld2格式化字符串格式化使用字符串格式化操作符即百分号%来实现。12str1Hello,%s%world.printstr1格式化操作符的右操作数可以是任何东西如果是元组或者映射类型如字典那么字符串格式化将会有所不同。123456strs(Hello,world)#元组str1%s,%s%strsprintstr1d{h:Hello,w:World}#字典str1%(h)s,%(w)s%dprintstr1输出12Hello,worldHello,World注意如果需要转换的元组作为转换表达式的一部分存在那么必须将它用圆括号括起来12str1%s,%s%Hello,worldprintstr1输出1234Traceback (most recent call last):FileF:\Python\test.py, line2,inmodulestr1%s,%s%Hello,worldTypeError:notenough argumentsforformatstring如果需要输出%这个特殊字符毫无疑问我们会想到转义但是Python中正确的处理方式如下12str1%s%%%100printstr1输出1100%对数字进行格式化处理通常需要控制输出的宽度和精度1234567frommathimportpistr1%.2f%pi#精度2printstr1str1%10f%pi#字段宽10printstr1str1%10.2f%pi#字段宽10精度2printstr1输出1233.143.1415933.14字符串格式化还包含很多其他丰富的转换类型可参考官方文档。Python中在string模块还提供另外一种格式化值的方法模板字符串。它的工作方式类似于很多UNIX Shell里的变量替换如下所示1234fromstringimportTemplatestr1Template($x,$y!)str1str1.substitute(xHello,yworld)printstr1输出1Hello,world!如果替换字段是单词的一部分那么参数名称就必须用括号括起来从而准确指明结尾1234fromstringimportTemplatestr1Template(Hello,w${x}d!)str1str1.substitute(xorl)printstr1输出1Hello,world!如要输出$符可以使用$$输出1234fromstringimportTemplatestr1Template($x$$)str1str1.substitute(x100)printstr1输出1100$除了关键字参数之外模板字符串还可以使用字典变量提供键值对进行格式化12345fromstringimportTemplated{h:Hello,w:world}str1Template($h,$w!)str1str1.substitute(d)printstr1输出1Hello,world!除了格式化之外Python字符串还内置了很多实用方法可参考官方文档这里不再列举。4、通用序列操作方法从列表、元组以及字符串可以“抽象”出序列的一些公共通用方法不是你想像中的CRUD这些操作包括索引indexing、分片sliceing、加adding、乘multiplying以及检查某个元素是否属于序列的成员。除此之外还有计算序列长度、最大最小元素等内置函数。1索引123456str1Hellonums[1,2,3,4]t1(123,234,345)printstr1[0]printnums[1]printt1[2]输出123H2345索引从0从左向右开始所有序列可通过这种方式进行索引。神奇的是索引可以从最后一个位置从右向左开始编号是-1123456str1Hellonums[1,2,3,4]t1(123,234,345)printstr1[-1]printnums[-2]printt1[-3]输出123o31232分片分片操作用来访问一定范围内的元素。分片通过冒号相隔的两个索引来实现12345678numsrange(10)printnumsprintnums[1:5]printnums[6:10]printnums[1:]printnums[-3:-1]printnums[-3:]#包括序列结尾的元素置空最后一个索引printnums[:]#复制整个序列输出123456[0,1,2,3,4,5,6,7,8,9][1,2,3,4][6,7,8,9][1,2,3,4,5,6,7,8,9][7,8][7,8,9]不同的步长有不同的输出12345678numsrange(10)printnumsprintnums[0:10]#默认步长为1 等价于nums[1:51]printnums[0:10:2]#步长为2printnums[0:10:3]#步长为3##print nums[0:10:0] #步长为0printnums[0:10:-2]#步长为-2输出12345[0,1,2,3,4,5,6,7,8,9][0,1,2,3,4,5,6,7,8,9][0,2,4,6,8][0,3,6,9][]3序列相加1234567str1Hellostr2 worldprintstr1str2num1[1,2,3]num2[2,3,4]printnum1num2printstr1num1输出12Hello world[1,2,3,2,3,4]Traceback (most recent call last):File F:\Python\test.py, line 7, in moduleprint str1num1TypeError: cannot concatenate str and list objects4乘法123456print[None]*10str1Helloprintstr1*2num1[1,2]printnum1*2printstr1*num1输出1234[None,None,None,None,None,None,None,None,None,None]HelloHello[1,2,1,2]Traceback (most recent call last):File F:\Python\test.py, line 5, in moduleprint str1*num1TypeError: cant multiply sequence by non-int of type list5成员资格in运算符会用来检查一个对象是否为某个序列或者其他类型的成员即元素12345str1Helloprinthinstr1printHinstr1num1[1,2]print1innum1输出123FalseTrueTrue6长度、最大最小值通过内建函数len、max和min可以返回序列中所包含元素的数量、最大和最小元素。12345678str1Helloprintlen(str1)printmax(str1)printmin(str1)num1[1,2,1,4,123]printlen(num1)printmax(num1)printmin(num1)输出1234565oH51231二、映射字典映射中的每个元素都有一个名字如你所知这个名字专业的名称叫键。字典也叫散列表是Python中唯一内建的映射类型。