集合类型
数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements)。
Python把这个概念引入到它的集合类型对象里。集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。数学集合转为Python的集合对象很有效,集合关系测试和union、intersection等操作符在Python里也同样如我们所预想地那样工作。
和其他容器类型一样,集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小)用for循环迭代集合的成员。但是因为集合本身是无序的,不能为集合创建索引或执行切片(slice)操作,也没有键(keys)可用来获取集合中元素的值。
集合(sets)有两种不同的类型:
可变集合(set),可以添加和删除元素,不可哈希,不能用作字典的键也不能作为其他集合中的元素;
不可变集合(frozenset),不可以添加和删除元素,有哈希值,能被用作字典的键或是作为集合中的一个成员。
集合类型的实际操作:
(1)如何创建集合类型和给集合赋值
集合与列表( [ ] )和字典( { } ) 不同,没有特别的语法格式。列表和字典可以分别用他们自己的工厂方法 list() 和 dict() 创建,这也是集合被创建的唯一方法:用集合的工厂方法set()和frozenset()。
1 >>> s = set('cheeseshop') # Python3.x 2 >>> s 3 {'s', 'o', 'h', 'e', 'c', 'p'} 4 >>> t = frozenset('bookshop') 5 >>> t 6 frozenset({'b', 's', 'k', 'o', 'h', 'p'}) 7 >>> len(s),len(t) 8 (6, 6) 9 >>> s == t 10 False 11 >>>