Python学习(六):基本的数据结构——集合及常用方法
1.集合的概述:
- 集合相当于字典中的Key,也就是舍弃了值的字典;
- 使用 {} 或者 set() 来创建;
- 集合是无序的;
- 集合元素是唯一的(如果出现重复元素,会被覆盖;应用在爬虫去重);
- 使用in 判断元素是否存在;
- 集合内元素可变;
2.集合的创建:
#直接创建空集,会变成字典; >>> set_1 = {} >>> type(set_1) <class 'dict'> #创建空集,使用set >>> set_1 = set() >>> type(set_1) <class 'set'> #可以使用set将字典转为集合 >>> set_1 = {'a','b','c'} >>> type(set_1) <class 'set'> #可以在set()中直接转换列表; >>> set(['a','b','c']) {'b', 'c', 'a'} #当列表有重复值的时候,使用set转换为集合时,会取唯一值。 >>> lis = ['a','b','c','a'] >>> set(lis) {'b', 'c', 'a'} #使用in判断某值是否在集合中 >>> set_1 {'b', 'c', 'a'} >>> a in set_1 False >>> 'a' in set_1 True
3.集合的运算:交集、并集、差集等;
>>> set_1 {'b', 'c', 'a'} >>> set_2 = {'b', 'd', 'e'} >>> set_2 {'b', 'e', 'd'} >>> type(set_2) <class 'set'> #获取交集,多个集合中都有的部分; >>> set_1 & set_2 {'b'} #获取并集;两个集合合并; >>> set_1 | set_2 {'b', 'e', 'c', 'a', 'd'} #获取差集,A有B无;或A无B有 >>> set_1 - set_2 {'c', 'a'} >>> set_2 - set_1 {'e', 'd'}
4.集合的修改等操作:
>>> set_1.update('f') >>> set_1 {'b', 'f', 'c', 'a'} >>> set_1.update('k') >>> set_1 {'b', 'k', 'a', 'f', 'c'} #一个集合插入另一个集合 >>> set_1.update(set_2) >>> set_1 {'b', 'e', 'k', 'a', 'f', 'c', 'd'}