
上QQ阅读APP看书,第一时间看更新
2.4.1 创建集合
创建集合时,使用set()即可。如var=set([1,3,5,6,4,2]),如图2-11所示。

图2-11 创建集合实例
由图2-11可以看出,集合内部实际上已经对元素进行了排序。那么,集合中能不能包含不同类型的元素呢?具体如图2-12、图2-13和图2-14所示。

图2-12 集合中包含整型和字符型示例

图2-13 集合中包含整型和字典示例
由此可以看出,如果放入的元素类型是集合或者列表,则会报TypeError错误。如果集合里都是整型和字符型的元素,则循环遍历集合的输出结果就不会进行排序。那么是不是说,如果元素类型相同,就一定会排序呢?具体如图2-15所示。

图2-14 集合中包含整型和列表示例

图2-15 集合中字符型排序示例
可见,如果集合的元素全是字符型,那么实际上输出的结果并没有进行排序。
总之,集合中可以放不同类型的元素,但是存放的元素只能为数值型和字符型,不能是列表类型和集合类型。如果元素都是数值型,则循环变量的输出结果为从小到大排序后的结果;如果元素都是字符型,循环变量的输出结果并不会进行排序;如果元素既有数值型又有字符型,则循环变量的输出结果也不会进行排序。