- 集合(set)是一个无序的不重复元素序列
- 集合可以用 { } 或者set ( ) 函数创建集合,创建一个空集合必须用set ( ),因为{ }是用来创建一个空字典
- 格式为:basket = {‘a’,‘b’,‘c’}
bakset = set (‘abc’)
basket = {1,2,3}
basket = set(‘123’)
t = {‘ball’,‘smile’,‘cost’}
t = set ((‘ball’,‘smile’,‘cost’))
>>> basket = {'apple','orange','apple','pear','orange','banana'}
>>> basket
{'orange', 'pear', 'banana', 'apple'} # 去重功能,输出的为不重复的项
>>> 'apple'in basket #快速判断元素是否在集合中
True
>>> 'moneky'in basket
False
- 集合间的运算
t = {'b','c','d'} #t = set('bcd') 两种不同的表达方式 set() 和 { }
f = {'d','e','f' } #f = set('def')
print(t)
print(f)
print(t-f) #集合t中包含而集合f中不包含
print(t|f) #并 集合t中包含的元素并f中包含的元素
print(t&f) #交 集合t和f都包含的元素
print(t^f) # 不同时包含于t和f的元素
➜ pythoncode python3 holly_03_05.py
{'c', 'd', 'b'}
{'e', 'd', 'f'}
{'c', 'b'}
{'e', 'd', 'f', 'b', 'c'}
{'d'}
{'b', 'e', 'f', 'c'}
- 集合的基本操作
1,添加元素
基本格式 t . add() 或 t . update()
但两者有个区别即是,update将添加的元素视为可迭代对象,对其遍历后,依次添加到集合。如下列smile一次分隔开按字母添加于结婚中
t = {'b','c','d'}
t.add('face') #添加元素
print(t)
t.update('smile')
print(t)
➜ pythoncode python3 holly_03_05.py
{'face', 'd', 'c', 'b'}
{'face', 'c', 'l', 'e', 'd', 'i', 'm', 'b', 's'}
可以添加多个,一次用 , 隔开。可以用( ) 或 [ ]或 { }
t = {'b','c','d'}
t.update({1,3})
print(t)
t.update([1,3],[4,5])
print(t)
t.update((1,3),(4,5))
print(t)
➜ pythoncode python3 holly_03_05.py
{1, 3, 'b', 'd', 'c'}
{1, 3, 4, 5, 'b', 'd', 'c'}
{1, 3, 4, 5, 'b', 'd', 'c'}
2,移除元素。语法格式如下:
t.remove(‘a’) 如果集合中没有该元素则会报错
>>> t = {'b','c','d'}
>>> t.remove('b')
>>> t
{'c', 'd'}
t.discard(‘a’) 该方法如果集合中没有该元素则不会报错
>>> t = {'b','c','d'}
>>> t.discard('b')
>>> t
{'c', 'd'}
t.pop() 表示会随机地从集合中删除一个元素(多次执行的结果会不一样)
>>> t = {'b','c','d'}
>>> t.pop()
'b'
>>> t
{'c', 'd'}
3,计算集合元素的个数
语法格式为 len()
>>> t = {'bilibili','cost','smile'}
>>> len(t)
3
4,清空集合
语法格式为 t.clear()