集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。
集合的特点:
1、他是无序的,他是不重复的
2、他里面的元素必须是可哈希的(int、str、bool、tuple)但是它本身是不可哈希的
3、集合不能更改里面的元素,只能新增和删除
4、集合可以求交集,并集,差集,反交集等
集合的日常操作:
1、集合的创建
set1 = set({1,2,‘alex‘}) set2 = {‘alex‘,‘wusir‘,‘egon‘}
2、集合的增加
set1 = set({1,2,3}) #1、set.add(obj) 添加一个元素 set1.add(‘wukong‘) print(set1) #{‘wukong‘, 1, 2, 3} #2、set.update(seq) 迭代着将每一个元素逐一添加进去 set1.update(‘abc‘) print(set1) #{1, 2, 3, ‘wukong‘, ‘c‘, ‘a‘, ‘b‘}
3、集合的删除
#删除集合元素 set1 = {‘alex‘,‘wusir‘,‘ritian‘,‘egon‘,‘barry‘} #1、set.remove(obj) 按照元素去删除 set1.remove(‘ritian‘) print(set1) #{‘alex‘, ‘egon‘, ‘barry‘, ‘wusir‘} #2、set.pop() 随机删除某个元素 set1.pop() print(set1) #{‘wusir‘, ‘egon‘, ‘alex‘}
4、清空集合、删除集合
set1 = {‘alex‘,‘wusir‘,‘ritian‘,‘egon‘,‘barry‘} #1、清空集合 set.clear() set1.clear() print(set1) #set() #2、删除集合 del set del set1 print(set1) #报错: name ‘set1‘ is not defined
5、集合的查询
set1 = {‘alex‘,‘egon‘,‘barry‘} for item in set1: print(item, end=‘ ‘) #alex egon barry
6、集合的其它操作
6.1、交集 & intersection()
set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} #1、使用 & print(set1 & set2) #{4, 5} #2、intersection() print(set1.intersection(set2)) #{4, 5}
6.2、并集 |