内建集合类型:字符串、列表、元组、集(set)、字典
其他重要集合类型:栈、队列、优先队列、二叉搜索树、堆、图、包(bag)和各种类型的有序集合
不可变集合:字符串、元组
线性集合 O-O-O-O
层级集合:除去顶端第一个数据项,每个数据项只有一个前驱,父节点,多个后继,子节点。
图集合:每一项都可能有多个前继和多个后继
有序集合::在各项上施加了一个自然的顺序,允许按照排好的顺序访问其所有的项
List 和tuple函数的参数:任何可迭代的对象
用于字典的dict函数,期待类型更加具体的可迭代对象作为其参数,如(key, value)的元组的列表
克隆是一个特殊的类型转化,将参数的一个完全的副本返回给转换函数
两个列表不是相同的对象,故is返回F;但具有相同类型且拥有相同结果,==返回T
list函数对其参数列表进行了浅复制。
当这些项是不可变的时候(数字、字符串、元组),以上操作没有问题,当集合共享可变的项,会引起副作用。--->可以编写在源集合上的一个for循环来创建深复制(在把项添加到新的集合之前,显式的复制其项)
集合也称为抽象数据类型(ADT)
数据结构是表示集合中包含的数据的一个对象