Set:集合
集合Set是一个无序不重复的序列。通常用来进行成员关系测试和删除重复元素,且支持集合运算(并交差等)。定义格式:
- #{}定义的集合。其每个元素就是obj1,obj2,...
- s1 = {obj1,obj2,obj3,…}
- #set()定义的集合。其每个元素为obj拆分的单个字符列表
- s2 = set(obj)
Python
例如:
- >>> set1 = {'Dog','Cat','Rabbit'}
- >>> print(set1)
- {'Rabbit', 'Cat', 'Dog'}
- >>> set2 = set('Dog')
- >>> set2
- {'D', 'o', 'g'}
Python
设A和B都是集合,其集合操作主要是包含以下几种:
A | B:并集A∪B。在A或B中的对象
A & B:交集A∩B。在A和B中的对象
A – B:差集A – B。在A中,且不在B中
A ^ B:对称集 (A-B)∪(B-A)。在A或B中的对象,但不同时在A和B中
例如:
- >>> course = {'Math','Chinese','English','History','Music','Math'}
- >>> print(course)
- {'Music', 'Math', 'History', 'English', 'Chinese'} #打印时自动删除重复元素Math
- >>> 'Math' in course #检测成员关系,返回True or False
- True
- >>> 'Art' in course
- False
- >>> 'Art' not in course
- True
- >>> set1 = set('abcdefg') #定义集合Set
- >>> set2 = set('abc')
- >>> set2 = set('abchijk')
- >>> set1 - set2 #差
- {'f', 'e', 'd', 'g'}
- >>> set1 | set2 #并
- {'a', 'd', 'h', 'c', 'j', 'e', 'i', 'f', 'k', 'b', 'g'}
- >>> set1 & set2 #交
- {'a', 'b', 'c'}
- >>> set1 ^ set2 #(set1 | set2)-(set1 & set2)不同时出现在set1和set2中
- {'j', 'e', 'g', 'h', 'd', 'i', 'f', 'k'}