创建集合使用{}
或set()
, 但是如果要创建空集合只能使用set()
,因为{}
是用来创建空字典的。
s1 = {10, 20, 30, 40, 50}
print(s1)
s2 = {10, 30, 20, 10, 30, 40, 30, 50}
print(s2) # 结果和上面一样,集合天然去掉了重复的元素
s3 = set('abcdefg')
print(s3) # 每个字符一个单独元素
s4 = set()
print(type(s4)) # set
s5 = {} # 这不是集合 是字典
print(type(s5)) # dict
特点:
- 集合可以去掉重复数据;
- 集合数据是无序的,故不支持下标
s1 = {10, 20, 30, 40, 50}
s1[1] # 报错 集合无序,无法根据下标访问
s1.index(20) # 报错,集合无序,无法返回元素下标位置
s1.find(40) # 报错,集合无序,无法返回元素下标位置
s1 = {10, 20}
s1.add(100)
s1.add(10)
print(s1) # {100, 10, 20}
因为集合天然有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。
数据序列是个大类型,包括: list,str,tuple,dict,set
s1 = {10, 20}
# s1.update(100) # 报错
s1.update([100, 200]) # 必须是数据序列(str,list,tuple,dict,set)类型 本质是去遍历 然后一一加入
s1.update('abc')
print(s1)
s1 = {10, 20}
s1.remove(10)
print(s1) # {20}
s1.remove(10) # 报错
print(s1)
s1 = {10, 20}
s1.discard(10)
print(s1) # {20}
s1.discard(10) # 不报错 相当于啥也没干
print(s1) # {20}
s1 = {10, 20, 30, 60, 50}
print(s1.pop())
print(s1)
s1 = {10, 20, 30, 40, 50}
print(10 in s1)
print(10 not in s1)
创建集合
s1 = {数据1, 数据2, ...}
s1 = set()
常见操作