1. Tuples 元组
Tuples其实和List基本一致,都是有序的对象集合,与List不同的是,tuples是immutable的。
Tuples在使用小括号()包围起来的一系列对象。Tuples不支持任何函数
Tuples有如下一些特点:
- * 任意对象的有序集合
- * 通过下表offset存取
- * Immutable
- * 定长,异质,任意嵌套</li
- * 对象索引的数组,而不是对象本色
Tuples的一些操作:
T = () #空元组
T = (1, ) # 一个元素的元组,后面要加一个逗号
T = (0, 'Hi', 1.2, 3) # 异质
T = ('ab', ('cd', 'ef')) #嵌套
T[i:j] #slicing
for t in T #迭代
T1 + T2 #连接
由于Tuple不支持任何函数,如果想对Tuple排序,应该怎么做呢?方法如下:
>>> T = ('cc', 'aa', 'dd', 'bb')
>>> tmp = list(T)
>>> tmp.sort( )
>>> tmp
['aa', 'bb', 'cc', 'dd']
>>> T = tuple(tmp)
>>> T
('aa', 'bb', 'cc', 'dd')
这里可以看到使用list()和tuple()函数进行相互转换,值得注意的是,这两个函数都是产生新的对象。
另外,tuple的immutable只是适用于tuple的最上层,如下例子可以说明:
>>> T = (1, [2, 3], 4)
>>> T[1][0] = 'spam' # Works
>>> T
(1, ['spam', 3], 4)
>>> T[1] = 'spam' # Fails
TypeError: object doesn't support item assignment
这里T[1]是一个List,list是mutable的。
2. Files 文件
文件是Python中的特殊的数据对象,此对象关联外部文件,相关函数可以直接对文件进行操作。
File的相关操作如下:
output = open('/dir/filename', 'w')
input = open('data','r') # file may be open as 'w' for write
# 'r' for read or 'a' for append
S = input.read() # 读取文件全部数据到一个字符串中
S = input.read(N) #读取N字节
S = input.readline() #读取下一行,以行结束符号=为标志
L = input.readlines() #读取整个文件到一个字符串的行的列表中
output.write(s) #向文件中写字符串s
output.wirtelines(L) #把列表中L中的所有行写入文件中
output.close() #关闭文件
在Python中,一个对象不再被引用的时候会自动回收内存,在回收file对象的时候,会首先关闭文件。手动close一个文件,虽然不是必须的,但是是一个好的习惯.
没有评论:
发表评论