1.python提供了5种内置的组合数据类型:bytearray、bytes、list、str、tuple;
2.元组支持与字符串一样的分片和步距;
3.注意元组的此种用法:a,b=(b,a),也就是元组的拆分
4.Python 的命名元组 -- namedtuple(可以获得更清晰的表达,就像c中的宏一样清晰):用法如下:
创建 namedtuple
1 2 |
from collections import namedtuple User = namedtuple('User', 'id name fullname') |
使用 namedtuple
1 |
admin = User(1, 'admin', 'Administritor') |
现在我们访问 "admin.id", "admin.name", "admin.fullname" 看看就知道了:
1 2 3 4 5 6 7 8 |
In [30]: admin.id Out[30]: 1 In [31]: admin.name Out[31]: 'admin' In [32]: admin.fullname Out[32]: 'Administritor' |
"{manufacturer}{model}".format(**aircraft._asdict)
5.list常用操作函数:append(),count(),extend()(能保证较高效的添加序列),pop(),remove(),reverse().
6.列表内涵须知:如果用列表内涵生成的列表很大,那么根据需要生成每个数据项会比一次性生成整个列表更高效。
7.python提供了两种集合数据类型:set(可变)和frozenset(不可变)
8.只有可hash运算的对象可以添加到集合中,可hash运算的对象包含一个__hash__()特殊方法,其返回值在某个对象的整个生命周期内都是相同的,并可以使用__seq__方法进行相等性判断。
9.出dict、list、set以外都是可哈希的;
10.集合中包含的每个数据项都是独一无二的,常用函数包括:add(),clear(),copy(),discard(),pop(),remove(),isdisjoint()t,它适用于:
(1).进行快速成员关系测试
(2).去重
(3).也可用于删除不需要的数据项
11.集合内涵的使用:{expression for i in iterable if codition}
12。只有可hash的成员才可以做dict的key,它和set一样以任意类型提供其数据项,另一方面,其每个键相关连的值都是对象引用,字典的键是独一无二的,常用方法为:clear();copy();get(),items(),values(),keys(),pop(),popitem()
13.字典内涵的使用:{keyexpression:valueexpression for key,value in iterable if condition}
14.注意默认字典defaultdict和有序字典的使用OrderedDict()以数据项插入的顺序进行存储。对默认字典调用工厂函数时,将为遗失的键创建默认值。
15.组合数据类型迭代函数包括:all(),any(),min(),max(),sum(),enumerate(),len(),range(),reversed(),sorted(),zip()
16.注意python表达式的这种用法:minimum_length <= len(line) <= maximum_length