1、集合类型的定义
- 集合类型与数学中的集合概念一致
- 集合元素之间无序,每个元素唯一,不存在相同元素
- 集合元素不可更改,不能是可变数据类型(如果可变,可能和其他的重复,进而发生冲突)
- 集合用大括号{}表示,元素间用逗号分隔
- 建立集合类型用{}或set{}
- 建立空集合类型,必须使用set()(因为字典类型用{})
>>A = {"python",123,("python",123)} #使用{}建立集合
运行结果:{123,'python',('python',123)}
>>B = set("pypy123") #使用set()来建立集合
运行结果:{'1','p','2','3','y'}
>>C = {"python",123,"python",123}
运行结果:{'python',123}
2、集合操作符
当然,并差交补均可以使用 S|=T, S-=T,S&=T,S^=T来再次更新集合S。
>> A = {"p","y",123}
>> B = set("pypy123")
>> A-B #差
运行结果为:{123}
>>A&B #交
运行结果为:{'p','y'}
>>A^B #补
运行结果为:{'2',123,'3','1'}
>> B-A #差
运行结果为:{'3','1','2'}
>> A|B #并
运行结果为:{'1','p','2','y','3',123}
3、集合处理方法
>> A = {"p","y",123}
>> for item in A:
print(item,end="")
运行结果为:p123y
>>A
运行结果为:{'p',123,'y'}
>> try:
while True:
print(A.pop(),end="") #更新即为移除
except:
pass
运行结果为:p123y
>>A
运行结果为:set()
4、集合类型应用场景
1)包含关系比较
>>"p" in {"p","y",123}
True
>>{"p","y"} >= {"p","y",123}
False
2)数据去重(集合类型所有元素无重复)
>>ls = ["p","p","y","y",123]
>> s=set(ls) #利用了集合无重复元素的特点
运行结果为:{‘p’,'y',123}
>>lt=list(s) #还可以将集合转换成列表
['p','y',123]