<2>字典
a.在数学上,字典实际上是一个映射。与此同时,字典也相当于一个列表,然而其下标不再是以0开头的数字,而是自己定义的键(Key)。
b.创建一个字典的基本方法如下:
a={'Junuary':1,'February':2}
其中,"January""February"就是字典的键,在整个字典中必须是唯一的,而"1""2"就是键对应的值。访问字典中的元素的方法也很直观,如代码清单2-5所示。
代码清单2-5 访问字典中的元素
a['January']//该值为1
a['February']//该值为2
c.还有其他一些比较方便的方法可以创建一个字典,如通过dict函数创建,或通过dict.fromkeys创建,如代码清单2-6所示。
代码清单2-6 通过dict或dict.fromkeys创建字典
dict([['January',1],['February',2]])//相当于{'January':1,'February':2}
dict.fromkeys(['January':1,'February':1}
字典的函数和方法很多,大部分与列表是一样的,此处不再赘述。
<3>集合
a.Python内置了集合这一数据结构,它的概念与数学上集合的概念基本一致。集合的元素是不重复的,而且是无序的。集合不支持索引。一般通过花括号({})或set函数创建一个集合,如代码清单2-7所示。
代码清单2-7 创建集合
k={1,1,2,3,3}//注意1和3会自动去重,得到{1,2,3}
k=set([1,1,2,3,3])//同样地,将列表转换为集合,得到{1,2,3}
b.由于集合的特殊性(特别是无序性),所以集合会有一些特别的运算,如代码清单2-8所示。
代码清单2-8 特别的集合运算
f={1,2,3,4}
g={1,2,3,5,6}
a=f|g//f和g的并集
b=f&g//f和g的交集
c=f-g//求差集(项在f中,但不在g中)
d=f^g//对称差集(项在f或g中,但不会同时出现在二者中)