集合是一个无序的不重复元素序列
常用来对两个列表进行交并差的处理
与列表一样支持所有数据类型
使用{}
创建方法:
通过set函数来创建集合,不能使用{}创建
# 集合是一个无序的不重复元素序列
#常用来对两个列表进行交并差的处理
#与列表一样支持所有数据类型
#使用{}
a = set()
print (a, type(a))
>>set() <class 'set'>
b = set (['python', 'flask'])
print (b)
>>{'flask', 'python'}
# 直接用大括号定义,则认为是字典
c = {}
print (c, type(c))
>>{} <class 'dict'>
# set去除重复元素
a_list = ['111', '222', '333', '111']
b_set = set (a_list)
print (b_set)
>>{'111', '333', '222'}
# 集合的增删改
# add:用于集合中添加一个元素
# set.add (item)
a_set = set()
a_set.add ('djk')
print (a_set)
>>{'djk'}
# update:加入一个新的集合(列表、元组、字符串),如果存在则忽略
# set.update (iterable)
a_set = set()
a_set.update ([3,4,5])
print (a_set)
a_set.update ((4,5,6))
print (a_set)
>>{3, 4, 5}
>>{3, 4, 5, 6}
# remove:将集合中的某个元素删除,不存在则会报错
# set.remove(item) 是元素不是索引
a_set = {1,2,3}
a_set.remove (3)
print (a_set)
>>{1, 2}
# clear:清除集合中的所有元素
# set.clear()
a_set = {1,2,3}
a_set.clear ()
print (a_set)
>>set()
# del
del a_set
#集合无法通过索引获取
#无获取元素的任何方法
#处理列表或元组的一种临时类型,不合适存储与传输
#差集:所有属于a且不属于b的元素组成的集合叫做a与b的差集
#difference:返回集合的差集,属于第一个集合,不属于第二个集合
#a_set.difference (b_set)
a_set = {'ddd', 'aaa', 'ccc'}
b_set = {'aaa', 'bbb', 'ccc'}
print (a_set.difference (b_set))
>>{'ddd'}
#intersection:返回两个或多个集合中的并集
#a_set.intersection (b_set...)
a_set = {'ddd', 'aaa', 'ccc'}
b_set = {'aaa', 'bbb', 'ccc'}
c_set = ['aaa']
print (a_set.intersection(b_set, c_set))
>>{'aaa'}
#union:返回多个集合的并集
#a_set.union(b_set...)
a_set = {'ddd', 'aaa', 'ccc'}
b_set = {'aaa', 'bbb', 'ccc'}
c_set = ['aaa']
print (a_set.union(b_set, c_set))
>>{'bbb', 'aaa', 'ccc', 'ddd'}
#isdisjoint:判断两个集合是否包含相同的元素,没有True,有False
#a_set.isdisjoint(b_set)
a_set = {'ddd', 'aaa', 'ccc'}
b_set = {'aaa', 'bbb', 'ccc'}
print (a_set.isdisjoint(b_set))
>>False