可不可变:
可变:列表,字典
不可变:字符串,数字,元祖
访问顺序:
直接访问:数字
顺序访问:字符串,列表,元祖
映射:字典
存放元素个数
容器类型:列表,元祖,字典
原子:数字,字符串
集合
1.集合是用不同元素组成的
2.集合里面的元素是无序的
3.集合中的元素必须是不可变类型
set() 转换为集合
s = "hello" print(set(s)) s = [1,2,3,4,5,6] print(set(s))
pop() 随机删除集合中的元素,可以返回被删除的值
remove() 指点删除集合中的元素,不能返回被删除的值,如果指定的元素不存在会报错
discard() 指点删除集合中的元素,不能返回被删除的值,如果指定的元素不存在不会报错
s = {'1',0,1,2,3,4} s1 = s.pop() print(s1,s) s1 = s.remove(4) print(s1,s) s1 = s.discard(321531) print(s1,s)
求交集
a = {'a','b','c','d'} b = {'c','d','e','f'} print(a,b) print(a.intersection(b)) print(a&b)
求并集
a = {'a','b','c','d'} b = {'c','d','e','f'} print(a,b) print(a.union(b)) print(a|b)
求差集
a = {'a','b','c','d'} b = {'c','d','e','f'} print(a,b) print(a.difference(b)) print(a-b)
交叉补集
a = {'a','b','c','d'} b = {'c','d','e','f'} print(a,b) print(a.symmetric_difference(b)) print(a^b)
update 把结果返回给他本身
a = {'a','b','c','d'} b = {'c','d','e','f'} print(a,b) #a=a.symmetric_difference(b) print(a.symmetric_difference_update(b))
isdisjoint() 如果两个集合不存在交集则返回True
a = {'a','b','c','d'} b = {'c','d','e','f'} print(a,b) print(a.isdisjoint(b))
issubset() 如果是他的子集则返回True
issuperset() 如果是他的父亲集则返回True
a = {'c','d'} b = {'c','d','e','f'} print(a,b) print(a<=b) print(a.issubset(b)) print(a>=b) print(a.issuperset(b))
update() 更新多个值
a = {'c','d'} b = {'c','d','e','f'} a.update(b) print(a)
frozenset() 转换为不可变集合
s = frozenset("hello") print(s)
简单去重
s = [1,1,1,1,2,3,4,4,5] print(list(set(s)))