1、集合:可变数据类型,它里面的元素必须是不可变数据类型,无序,不重复。
2、集合例子:表现形式两种
set1 = set({1,2,3})
set2 = {1,2,3}
print(set1,type(set1)) # {1, 2, 3} <class 'set'>
print(set2,type(set2)) # {1, 2, 3} <class 'set'>
3、集合----增
set1 = {1,2,3}
set1.add('bug')
print(set1) # {1, 2, 3, 'bug'}
set1.update('bug1') # update 迭代式添加
print(set1) # {1, 2, 3, 'g', 'u', '1', 'b'}
set1.update(['bug1','bug3']) # 添加列表中的值
print(set1) # {1, 2, 3, 'g', 'bug1', 'u', 'bug3', '1', 'b'}
4、集合----删除
# pop()随机删除
set1 = {1,2,3}
set1.pop() # 随机删除
print(set1)
print(set1.pop()) # 有返回值
# remove() 按照元素删除
set1 = {1,2,3}
set1.remove(3)
print(set1)
# clear()清空集合
set1 = {1,2,3}
set1.clear()
print(set1)
# del set1 删除集合
set1 = {1,2,3}
del set1
print(set1)
5、改:不存在,原因是集合中元素是不可变数据类型
6、查:for循环查询集合
set1 = {1,2,3}
for i in set1:
print(i)
7、集合例子:
# 取相同元素(连个集合)
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1&set2) # {2, 3, 4}
# 取两个集合所有元素
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1|set2) # {1, 2, 3, 4, 5, 6}
# 取不交集的部分
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1^set2) # {1, 5, 6}
# 取set1独有
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1-set2) # {1, 5}
# set1是set2的子集
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1<set2) # False
# 列表去重(先转换成集合,最后强制转换成列表)
li = [1, 2, 33, 33, 2, 1, 4, 5, 6, 6]
li = set(li)
print(li) # {1, 2, 33, 4, 5, 6}
li = list(li)
print(li) # [1, 2, 33, 4, 5, 6]
# 改变集合类型为不可变
s = frozenset('barry')
print(s,type(s)) # frozenset({'b', 'r', 'y', 'a'}) <class 'frozenset'>
for i in s:
print(i) # b r y a