集合
一 字典的特性
a) 集合是可变数据类型
b) 集合中的元素必须是不可变数据类型
c) 无序
d) 元素不重复
二 集合的创建:
a) 用set函数创建集合:set(可迭代对象)
Set(‘123’) # {'2', '3', '1'} <class 'set'>
set(['wo','ni','ta']) # {'wo', 'ta', 'ni'} <class 'set'>
set({'name':1,'age':2}) #{'name', 'age'} <class 'set'>
b) 直接赋值: set2={1,2,3}
{}是空字典
Set()是空集合
三 集合的增:
a) 添加单个元素:
set.add(‘abc’) #abc作为一个元素被加入;add的参数可以是任何不可变数据类型
b) 迭代添加多个元素:
set.update(‘abc’) #a,b,c被无序的分别加入;update的参数必须是可迭代对象并且里面的元素必须是不可变数据类型
四 集合的删:
a) 随机删除一个: set.pop()
b) 按元素删:set.remove(‘元素’)
元素不存在会报错
c) 清空集合:set.clear()
d) 删除集合:del set
五 集合不能改:
六 集合的查:
只能用for循环查
七 求俩集合的交集:
a) set1 & set2 #两边必须是集合
b) set1.intersection(set2) #intersection的参数可以是任何可迭代对象,不一定是集合
八 求俩集合的并集:
a) set1 | set2
b) set1.union(set2)
九 求俩集合的反交集:
各自独有的元素集合在一起
a) set1 ^ set2
b) set1.synmetric_difference(set2)
十 求一个集合独有的元素:
a) set1 - set2
b) set1.difference(set2)
十一 判断一个集合是否是另一个集合的子集
a) set1<set2
b) set1.issubset(set2)
当set1是{1,2},set2是{1,2,3}时true
当set1是{1,2,4},set2是{1,2,3}时false
十二 判断一个集合是另一个集合的超集:
a) set1>set2
b) set1.issuperset(set2)
十三 不可变集合:
建立不可变集合
set=frozenset(“jgf”)# 参数是可迭代对象
s1 = frozenset([1,2,3,4,5,6])
print(s1,type(s1))
C:\Python3\python3.exe F:/FW/test.py
frozenset({1, 2, 3, 4, 5, 6}) <class 'frozenset'>
Process finished with exit code 0