python核心编程--chapter 6 序列

chapter 6

1.序列

N=序列的长度=len(Sequence)

访问模式:每一个元素可以通过指定一个偏移量的方式得到。多个元素可以通过切片操作的方式以得到。

2.成员关系操作符:in,not in

 成员关系操作符用来判断一个元素是否是属于一个序列的。返回值是True/False,满足成员关系返回True,反之则为False。

 语法:obj [not]  in Sequence

3.序列操作符

 seq[ind]:获得下标为ind的元素

 seq[ind1:ind2]:获得下标从ind1到ind2间的元素集合

 seq*expr:重复序列expr次

 seq1+seq2:连接序列seq1和seq2

 obj1 in seq:判断obj元素是否包含在seq中

 obj not in seq:判断obj元素是否不包含在seq中

连接操作符"+" :Sequence1 + Sequence2

重复操作符"*":Sequence*copy_int

切片操作符:[],[:],[::]

因为python是面向对象的,所以可以直接访问一个序列的元素:

4.内建函数

 类型转换:可以理解为转换,但实际上并没有做任何转换,这些实际上是工厂函数将对象作为参数,并将其内容浅拷贝(只拷贝了对象的索引,而不是重新建立了一个对象)到新生成的对象中。

 list(iter) :把可迭代对象转换为列表

 str(obj):把obj对象转换成字符串

 unicode(obj):把对象转换成unicode字符串

 basestring():抽象工厂函数,其作用只是为str和unicode函数提供父类,所以不能实例化,也不能被调用

 tuple(iter):把一个可迭代对象转换成一个元组对象

序列可用的内建函数:

enumerate(iter) :接受一个可迭代对象作为参数,返回一个enumerate对象,该对象生成由iter每个元素的index值和item值组成的元组

len(seq):返回seq的长度

max(iter,key=None)or max(arg0,arg1....key=None):返回iter里面的最大值,如果指定了key,这个key必须是可以传给sort()方法的,用于比较的回调函数

min(iter,key=None)or min(arg0,arg1....key=None):返回iter里面的最大值,如果指定了key,这个key必须是可以传给sort()方法的,用于比较的回调函数

reversed(seq):接受一个序列作为参数,返回一个以逆序访问的迭代器

sorted(iter,func=None,key=None,reverse=False):接受一个可迭代对象作为参数,返回一个有序的列表,可选参数有func,key,reverse

sum(seq,init=0):返回seq和可选参数init的总和

zip([it0,it1.....itN]):返回一个列表

5.字符串格式化符号

%c  转换成字符(ASCII码值,或者长度为一的字符串)

%r  优先用repr()函数进行字符串转换

%s  优先用str()函数进行字符串转换

%d/%i  转成有符号十进制数

%u  转成无符号十进制数

%o  转成无符号八进制数

%x/%X  转成无符号十六进制数

%e/%E  转成科学计数法

%f/%F  转成浮点数(小数部分自然截断)

%g/%G  %e和%f,%E和%F的简写

%%  输出%

6.格式化操作符辅助指令

*  定义宽度或者小数点精度

-  用做左对齐

+  在正数面前显示加号(+)

<sp>  在正数面前显示空格

#  在八进制苏前面显示零('0'),在十六进制前面显示'x'或'X'

0  显示的数字面前填充'0'而不是默认的空格

%  %%输出单一的%

(var)  映射变量

m.n  m是显示的最小总宽度,n是小数点后的位数

 7.原始字符串的用法详情见:http://blog.csdn.net/winterto1990/article/details/47362279

8.默认集合类型:

 所有的多对象的,逗号分隔的,没有明确用符号定义的等等这些集合默认的类型都是元组。

 所有函数返回的对象(不包含有符号封装的)都是元组类型

 PS:用圆括号包裹的一个单一元素首先被作为分组操作,而不是元组的分界符。一个变通的办法是在第一个元素的后面添加一个逗号,来表明这是一个元组合不上做分组操作。

原文地址:https://www.cnblogs.com/xiaoyinyue/p/5970670.html