集合只能存储不可变的数据类型。
(一)创建集合
(1)使用 {} 创建(注意:列表不可作为创建集合的元素)
代码:
a = {1,'a','你',(1,'好','s')} print(a) #报错 #a = {1,'a','你',(1,'好','s'),['q','r']}
结果:
{1, 'a', '你', (1, '好', 's')}
(2)set()函数创建集合
set里面可以是字符串、列表、元组、range 对象等不可变数据。
代码:
#存放字符串 set1 = set('泰戈尔') #set2 = set(1,2,3,4,5,6,7,8,9,0)报错 #存放列表 set3 = set(['早n','我','h']) #存放元组 set4 = set(('他是龙h','他是龙','他是龙')) #存放range set5 = set(range(0,5)) print(set1) print(set3) print(set4) print(set5)
结果:(集合无序)
{'泰', '尔', '戈'} {'早n', 'h', '我'} {'他是龙h', '他是龙'} {0, 1, 2, 3, 4}
(二)集合的基本操作
(1)访问及删除集合
集合中的元素是无序的,因此无法向列表那样使用下标访问元素。访问的元素不重复。
代码:
a = {1,'你',2,('a','b','c'),'你','1'} #访问集合 for b in a: print(b,end='') #删除集合用del() print(a) del(a) print(a)
结果:
Traceback (most recent call last): File "D:/untitled/demo.py", line 739, in <module> print(a) NameError: name 'a' is not defined 12你1('a', 'b', 'c'){1, 2, '你', '1', ('a', 'b', 'c')}
(2)添加元素add()
使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型。
代码:
a = {1,'你',2,('a','b','c'),'你','1'} a.add((1,2)) print(a) a.add([1,2]) print(a)
结果:
{(1, 2), 1, 2, ('a', 'b', 'c'), '1', '你'} Traceback (most recent call last): File "D:/untitled/demo.py", line 735, in <module> a.add([1,2]) TypeError: unhashable type: 'list'
(3)删除元素remove()
代码:
a = {1,'你',2,('a','b','c'),'你','1'} a.add((1,2)) print(a) a.remove(1) print(a) a.remove(('a','b','c')) print(a)
结果:
{(1, 2), 1, 2, '你', '1', ('a', 'b', 'c')} {(1, 2), 2, '你', '1', ('a', 'b', 'c')} {(1, 2), 2, '你', '1'}
(4)交集、并集、差集运算
代码:
a = {'你','说','啥'} b = {'说','啥','呢'} #交集 print(a & b) #并集 print(a | b) #差集 print(a - b)
结果:
{'啥', '说'} {'呢', '说', '你', '啥'} {'你'}