集合,存放不可变类型,无序,不可重复
可变类型报错
#! /usr/bin/env python
# -*- coding:utf-8 -*-
s = {1,2,3,4,[12,32,"dsa"]}
s = {1,234,43}
print(s)
#随机添加
s = {1,23,6,7}
s.add(44)
print(s)
#清空
s = {1,23,6,7}
s.clear()
print(s)
#复制
s = {1,23,6,7}
s1 = s.copy()
print(s1)
#删除
s = {1,23,6,7}
#随机删除
s.pop()
#指定删除
s.remove(23)
s.remove('sb')#指定删除一个不存在元素,会报错
s.discard('sb')#指定删除一个不存在元素,不会报错
print(s)
p = {
'python',
'linux',
'kali',
'php'
}
l = {
'python',
'linux',
'centos'
}
###交集
print(p.intersection(l))#求两个集合中相同的元素
print(p&l)
###并集
print(p.union(l))#求两个集合中不相同的元素
print(p|l)
###差集
print(p.difference(l))#求p集合中减去l集合中相同的元素得到p集合中剩下的元素
print(p-l)
print(l-p)#求l集合中减去p集合中相同的元素得到l集合中剩下的元素
p = [1,2,3,4]
l = [5,6,7]
p =set(p)
l =set(l)
#取两个集合中交集的值并且更新到p集合中
p.intersection_update(l)
print(p)
p = p-l
p.difference_update(l)
print(p)
#交叉补集
print(p.symmetric_difference(l))
print(p^l)
#如果没有交集返回ture,有返回false
print(p.isdisjoint(l))
s1 = {1,2}
s2 = {1,2,3,4}
print(s1.issubset(s2))#s1 是s2 的子集
print(s2.issubset(s1))#False
print(s2.issuperset(s1))#s2是s1的父集
#可迭代对象都可传值
s1.update(s2)#更新多个值
print(s1)
s1.update((3,4,5))#元组传值
print(s1)
#创建一个不可改变的集合
s =frozenset('hello')
print(s)
#简单列表去重
#先转换成集合,在转换成列表输出,无序
p = ['wentian' , 'name' , 'wentian' , '123']
v =set(p)
a =list(v)
print(a)
v1 =list(set(p))
print(v1)