补上:17至18日集合学习笔记
集合(set) s=set(可以放可迭代的值:字符串 列表 元组 字典) s=set("hello")
集合定义:由不同元素组成,集合中的数是一组无序的可哈希(不可变值)的值。
1.不同的元素(会自动弃除相同的元素)
2.无序(集合无付使用下标起值,因为是无序)
3.存放不可变值(数字 字符串 元组)
s={"test",12,34,(1,3,"hh")}——————集合方式(大括号)
查看类型:使用type(s)
集合的内置方法:
add(增加值,只能不同值)
clear(清空)
copy(拷贝)
pop(删除,无序的删除任意值)
remove(删除指定的元素,如果删除的元素不存在会爆错)
discard(删除指定元素,不存在但是不爆错,继续可以执行下面的程序)
集合关系运算交、差、并的相关运算
补充:集合可以弃重,但是弃重后是无序的
l1=[11,22,33,33]
l2=[22,33,44,44]
l1_1=set(l1)#变为集合
l1_2=set(l2)#变为集合
print(l1_1,l1_2)
#求交集
print(l1_1.intersection(l1_2))
print(l1_1 & l1_2)
#求并集
print(l1_1.union(l1_2))
print(l1_1 | l1_2)
# 求差集 l1_1 - l1_2 是存在也左边的集合,不存在右边的集合
print(l1_1.difference(l1_2)) #最后是11
print(l1_1-l1_2)
print(l1_2.difference(l1_1))#最后是44
print(l1_2-l1_1)
#交叉补集 把2个合到一块,在除去相同的部分
print(l1_1.symmetric_difference(l1_2))
print(l1_2^l1_1)
集合的方法:
difference_update(求出不同,更新列表里面的内容)
intersection_update(求相同同,更新列表里面的内容)
issubset(判断子集 或是 父集,包含关系)
isdisjoint(判断2个集合是否有相同的内容)
update(并集union一样,只是更新对应的内容)——————同时可以更新多个值
补充:
s=frozenset("hello")#变成一个不可变的集合,不能进行任何操作
print(s)
集合去重,可以在转换成列表
posted on 2019-09-14 10:35 坚持是多么伟大的事情 阅读(141) 评论(0) 编辑 收藏 举报