集合要求里面的元素,只能放可哈希的元素,元素不重复,去重,无序的 集合本身时不可哈希的, set作用:关系测试和去重
set1 = {"xiaohua","huahua","yang","xiaohua"}
print(set1)#{'huahua', 'xiaohua', 'yang'}去重,多次打印顺序也不一样
列表去重
l1 = [1,2,3,3,4,5,1]
print(list(set(l1)))#[1, 2, 3, 4, 5]先把列表转换集合,再把集合转换列表
增删查,不能修改,因为没有顺序,没有索引
增加
set1 = {"xiaohua","huahua","yang","xiaohua"}
set1.add("long")
print(set1)#{'huahua', 'yang', 'long', 'xiaohua'}
set1.update("abd")
print(set1)#{'a', 'yang', 'xiaohua', 'd', 'long', 'b', 'huahua'}迭代增加 删除
set1 = {"xiaohua","huahua","yang","xiaohua"}
set1.pop()#不可填写元素,随机删除
print(set1)
set1.remove("xiaohua")#按照元素删除
print(set1)#打印{'yang', 'huahua'}去重加删除的元素,剩下两个元素
set1.clear()#清空元素
print(set1)#打印set()代表集合
del set1#全部删除
print(set1) 查看
set1 = {"xiaohua","huahua","yang","xiaohua"}
for i in set1:
print(i)#只能通过for循环查看 交集 &
a = {1,2,3,4,5,6}
b = {3,4,5,6,7,8}
print(a & b)#打印{3, 4, 5, 6} 并集 |
a = {1,2,3,4,5,6}
b = {3,4,5,6,7,8}
print(a | b)#打印{1, 2, 3, 4, 5, 6, 7, 8}
差集 -
a = {1,2,3,4,5,6}
b = {3,4,5,6,7,8}
print(a - b)#打印{1, 2}
print(b - a)#打印{8, 7} 反交集 ^
a = {1,2,3,4,5,6}
b = {3,4,5,6,7,8}
print(a ^ b)#打印{1, 2, 7, 8}
print(b ^ a)#打印{1, 2, 7, 8} 父子集 一个集合元素是否包含另外一个集合元素
a = {3,4,5,6}
b = {3,4,5,6,7,8}
print(a > b)#打印False
print(a < b)#打印True