当前位置:文档之家› 列表字典元组文件

列表字典元组文件

Python 列表、字典、元组及文件
列表:
任意对象的有序集合:序列
通过偏移读取:索引,分片和合并
可变长度,异构以及任意嵌套
属于可变序列的分类:支持原处修改
对象引用属组
基本列表操作:
L1 = [] #一个空的列表
L2 = [0,1,2,3] #四项,索引为 0 到 3
L3 = ['abc', ['def', 'ghi']] #嵌套的子列表

L2[i] #索引
L3[i][j] #索引的索引
L2[i:j] #分片
len(L2) #求长度

L2 + L3 #合并
L2 * 3 #重复
for x in L2 #迭代
3 in L2 #成员关系

L2.append(4) #增加
L2.extend([5,6,7]) #增加
L2.sort() #排序
L2.index(1) #搜索
L2.insert(I, X) #插入
L2.reverse() #反转

del L2[k] #裁剪
del L2[i:j]
L2.pop()
L2.remove(2)
L2[i:j] = []

L2[i] = 1 #索引赋值
L2[i:j] = [4,5,6] #分片赋值

range(4) #生成整数列表/元组
xrange(0,4)

----------------------------------------------------------------------------------------------------------------------------------
字典:
通过键而不是偏移量来读取:(hash 哈希表)
任意对象的无序集合
可变长,异构,任意嵌套
属于可变映射类型:支持原处修改
对象引用表(哈希表)
字典的常用操作:
D1 = {} #空字典
D2 = {'spam' : 2, 'eggs' : 3} #两项目字典
D3 = {'food' : {'ham' : 1, 'eggs' : 2}} #嵌套

D2['eggs'] #以键进行索引运算
D2['food']['ham']

D2.has_key('eggs') #成员关系测试
'eggs' in D2
D2.key() #键列表
D2.values() #值列表
D2.copy() #复制
D2.get(key, default) #默认
D2.update(D1) #合并
D2.pop(key) #删除
len(D1) #长度(储存的元素的数目)
D2[key] = 42 #新增/修改键
del D2[key] #删除键

D4 = dict.fromkey(['a', 'b']) #其他构造技术
D5 = dict(zip(keylist, valslist))
D6 = dict(name = 'Bob', age = 42)

----------------------------------------------------------------------------------------------------------------------------------
元组:
任意对象的有序集合:位置有序
通过偏移存取:支持索引和分片
属于不可变序列类型:不知吃任何远处修改操作
固定长度,异构,任何嵌套
对象引用的数组
元组的常用操作:

() #空元组
t1 = (0,) #单个元素的元组(非表达式)
t2 = (0, 'Ni', 1.2, 3) #四个元素的元组
t2 = 0, 'Ni', 1.2, 3 #与前例相同
t3 = ('abc', ('def', 'ghi')) #嵌套元组

t1[i] #索引
t3[i][j] #索引的索引
t1[i:j] #分片
len(t1) #元组的长度

t1 + t2 #合并
t2 * 3 #重复

for x in t #迭代
'spam' in t2 #成员关系

----------------------------------------------------------------------------------------------------------------------------------
文件:
内置 open 函数会创建一个 Python 文件对象,可以作为计算机上的一个文件链

接。在调用 open 之后,可以通过返回文件对象的方法来读写相关外部文件。
常见文件元算:
output = open('/tmp/spam', 'w') #创建输出文件('w'是指写入)
input = open('data', 'r') #创建输入文件('r'是指读写)
input = open('data') #创建输入文件('r'是默认值)
aString = input.read() #把整个文件读进单一字符串
aString = input.read(N) #读取之后的 N 个字节(一个或多个)到一个字符串
aString = input,readline() #读取下一行(包括行末标示符)到一个字符串
aList = input.readlines() #读取整个文件到字符串列表
output.write(aString) #写入字节字符串到文件
output.writelines(aList) #把列表内的所有字符串写入文件
output.close() #手动关闭(当文件收集完成时会替你关闭文件)
output.flush() #把输出缓冲区刷到硬盘中,但不关闭文件
anyFile.seek(N) #修改文件位置到偏移量 N 处以便进行下一个操作

相关主题
文本预览
相关文档 最新文档