直接从六张开始看看书里有什么。
cmp() len() max() and min() sorted() and reversed() enumerate() and zip() sum() list() and tuple() dir()方法来得到它所有的方法和属性
extend() and append() extend()接受一个列表的内容,然后把所有元素追加到另一个列表中 append()把整个元素追加列表中,如:[].extend(‘abc‘) 最后输出的结果就是 [‘a‘, ‘b‘, ‘c‘] [].append(‘abc‘)输出结果是[‘abc‘]
pop() 把数组中的元素去掉,接受的参数是一个integer,把传入的index去掉,如果不传默认是最后一个
range(start, end, step =1)
list.append(obj)
list.count(obj)
list.extend(seq) a
list.index(obj, i=0,
j=len(list))
list.insert(index, obj)
list.pop(index=-1)
list.remove(obj)
list.reverse()
list.sort(func=None,key=None,reverse=False)
字典
d = {‘name‘:‘allen‘,‘name2‘:‘allen‘,‘age‘:‘40‘}
d = dict(([‘x‘, 1],[‘y‘, 2], [‘z‘,3])) # 注意:两个() dict只接受一个参数,可以是元祖,可以是列表,每个组合的数据个数两个
d = dict([[‘x‘, 1],[‘y‘, 2], [‘z‘,3]])
d = {}.fromkeys((‘x‘, ‘y‘), 1)
d = dict(zip((‘x‘, ‘y‘), (1, 2)))
d = dict([(‘xy‘[i-1], i) for i in range(1,3)]) #{‘y‘:2, ‘x‘:1}
d= dict(x=1, y=2)
cmp():字典的比较,先比较两个字典的元素个数,通过keys()方法获取返回键的顺序,在比较第一组的键,在比较第一组的值,在比较第二组的键。。。。。。。。
dict.clear ()
dict.copy ()
dict.fromkeys (seq,
val=None) c
dict.get(key,default=None)
dict.has_key(key)
dict.items()
dict.keys()
dict.iter() 对字典 dict 中的键 key,返回它对应的值 value,如果字典中不存在此键,则返回 default 的值(注意,参数 default 的默认值为 None)
dict.pop (key[, default])
dict.setdefault(key,default=None)
dict.update(dict2) 将字典 dict2 的键-值对添加到字典 dict
dict.values()
set() frozenset()
集合等价/不等价
obj in s
obj not in s
s == t
s != t
s < t (严格意义上)子集测试; s != t 而且s中所有的元素都是 t 的成员
s.issubset(t) s <= t
s > t
s.issubset(t) s <= t
s > t
s.issuperset(t) s >= t
s.union(t) s | t 合并操作:s 或 t 中的元素
s.intersection(t) s & t 交集操作:s 和 t 中的元素
s.difference(t) s - t 差分操作: s 中的元素,而不是 t 中的元素
s.symmetric_difference(t) s ^ t 对称差分操作:s 或 t 中的元素,但不是 s 和 t 共有的元素
s.update(t) s |= t (Union) 修改操作: 将 t 中的成员添加 s
s.intersection_update(t) s &= t 交集修改操作: s 中仅包括 s 和 t 中共有的成员
s.difference_update(t) s -= t 差修改操作: s 中包括仅属于 s 但不属于 t 的成员
s.symmetric_difference_update(t) s ^= t 对称差分修改操作: s 中包括仅属于 s 或仅属于 t 的成员
s.add(obj)
s.remove(obj)
s.discard(obj)
s.pop()
s.clear()
条件和循环
if condition:
pass
elif condition:
pass
else:
pass
while expression:
pass
for iter_var in iterable:
pass
pass什么也不做
文件和输入输出
open() file()
file_object = open(file_name, access_mode=‘r‘, buffering=-1)
access_mode是一个字符串代表一个文件打开的模式,r读 w写 a追加 U通用换行符。r 和U 打开的文件必须是存在的,w打开的文件首先会清空,a打开的文件是为了追加做准备的,所有写入的文件追加到末尾。+ 代表可读可写,b 代表二进制模式访问
buffering用于指示访问文件采用的缓冲方式,0 表示不缓冲,1 表示只缓冲一行数据。
r 以读方式打开
rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)
w 以写方式打开 (必要时清空)
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )
例子:fp = open(r‘c:\io.sys‘, ‘rb‘) # 以二进制读模式打开 这里需要说一下的是file_name参数中的r 的意思是名字就是字符串的所显示的名,也就是遇见 ’\‘ 不转义
open()
open() 和 file() 函数具有相同的功能, 可以任意替换.您所看到任何使用 open() 的地方, 都可以使用 file() 替换它.一般说来, 我们建议使用 open() 来读写文件, 在您想说明您在处理文件对象时使用 file() , 例如 ifinstance(f, file)
9.2.2 通用换行符支持(UNS)
不同平台用来表示行结束的符号是不同的, 例如 \n, \r, 或者 \r\n这就是 UNS 的关键所在, 作为 PEP 278 的结果, Python 2.3 引入了 UNS. 当你使用 ‘U‘ 标志打开文件的时候, 所有的行分割符(或行结束符, 无论它原来是什么)通过 Python 的输入方法(例如 read*() )返回时都会被替换为换行符 NEWLINE(\n). (‘rU‘ 模式也支持 ‘rb‘ 选项) . 这个特性还支持包含不同类型行结束符的文件. 文件对象的 newlines 属性会记录它曾“看到的”文件的行结束符.
如果文件刚被打开, 程序还没有遇到行结束符, 那么文件的 newlines 为 None .在第一行被读取后, 它被设置为第一行的结束符. 如果遇到其它类型的行结束符, 文件的 newlines 会成为一个包含每种格式的元组. 注意 UNS 只用于读取文本文件. 没有对应的处理文件输出的方法.在编译 Python 的时候,UNS 默认是打开的. 如果你不需要这个特性, 在运行 configure 脚本时,你可以使用 --without-universal-newlines 开关关闭它. 如果你非要自己处理行结束符, 请查阅核心笔记,使用 os 模块的相关属性.
当使用输入方法如 read() 或者 readlines() 从文件中读取行时, Python 并不会删除行结束符. 这个操作被留给了程序员. 例如这样的代码在 Python 程序中很常见:
f = open(‘myFile‘, ‘r‘)
data = [line.strip() for line in f.readlines()]
f.close()
类似地, 输出方法 write() 或 ritelines() 也不会自动加入行结束符. 你应该在向文件写入数据前自己完成。
文件内移动:seek()
seek() 方法(类似 C 中的 fseek() 函数)可以在文件中移动文件指针到不同的位置. offset字节代表相对于某个位置偏移量. 位置的默认值为 0 , 代表从文件开头算起(即绝对偏移量), 1 代表从当前位置算起, 2 代表从文件末尾算起. 如果你是一个 C 程序员,并且使用过了 fseek() , 那么,0, 1, 2 分别对应着常量 SEEK_SET, SEEK_CUR, 以及 SEEK_END. 当人们打开文件进行读写操作的时候就会接触到 seek()方法。
text() 方法是对 seek() 的补充; 它告诉你当前文件指针在文件中的位置 - 从文件起始算起,单位为字节.