第 3 章 组合数据类型
3.1 序列类型
序列类型支持成员操作符(in)、大小计算函数(len())、分片([]),并且都是可迭代的。
元组(tuple):有序的,包含0个或多个对象引用。元组是固定的不可修改。如果要修改元组可以用List()将其转换为列表。
命名元组(namedtuple):简单记录一下用法。
>>> import collections
>>> Student = collections.namedtuple("Student","name id")
>>> stu = []
>>> stu.append(Student("zhan",1))
>>> stu.append(Student("li",2))
>>> for s in stu:
print("{0} {1}".format(s.name,s.id))
zhan 1
li 2列表(list):有序,包含0个或多个对象引用。列表时刻变的。
列表内涵:看代码,代码算出1960--2011之间的闰年。
>>> leapyear = [y for y in range(1960,2011) if(y%4==0 and y%100!=0) or (y%400==0)]
>>> leapyear
[1960, 1964, 1968, 1972, 1976, 1980, 1984, 1988, 1992, 1996, 2000, 2004, 2008]
3.2 集合类型
集合类型是一种组合数据类型,支持成员操作符(in)、大小计算函数(len()),并且是iterable。
集合(set):无序的,0个或多个对象引用。没有分片,没有索引的概念。
集合内涵:
>>> leapyear = {y for y in range(1960,2011) if(y%4==0 and y%100!=0) or (y%400==0)}
>>> leapyear
{1984, 2000, 1988, 2008, 1960, 1996, 1964, 1968, 1992, 1972, 1976, 2004, 1980}
3.3 映射类型
映射类型(dict):键-值数据项的集合,无序的。(Python3.1提供了有序的collections.OrderedDict)
3.4 组合数据类型的迭代与复制
可用于迭代子的一些函数:all(),any(),min(),max(),sum(),len().
这章由于系统问题后来补的,原来的要详细的多。PS:对于一些数据类型的方法help()函数查看。