python基础知识(五)---集合set
目录
前言
集合也是python的内置数据结构中的一种,与列表,字典一样都属于可变类型的序列,简单 来说集合就是没有value值的字典。但是注意的是:集合中的元素不允许重复,集合的元素也是无序的。
一、怎么创建集合
- 集合的创建和其他数据结构差不多,都有两种创建方法:集合名={元素1,元素2···} 或者集合名=set(),注意:创建空集合时只能使用set(),不能使用{},因为{}创建的是字典。
dictA={} setA={1,89,23} setB=set() print(type(dictA),type(setA),type(setB))
运行结果
二、集合的增,删,改,查操作
集合的增加操作
- add() #调用add()方法,一次添加一个元素,如果元素存在则不进行任何操作。
setA={1,89,23} setA.add("仰天大笑出门去") print(setA)
运行结果
-
update(X) #调用update(X)方法至少添中一个元素,X可以是集合,列表等等。
setA={1,89,23} setA.update(["仰天大笑出门去","我辈岂是蓬篙人"]) print(setA)
运行结果
删除操作
- remove() #调用remove(),一次删除一个指定元素,如果指定的元素不存在会显示KeyError。
setA={1,89,23, '我辈岂是蓬篙人', '仰天大笑出门去',67} setA.remove(67) print(setA)
运行结果
-
discard() #调用discard(),一次删除一个指定元素,如果指定的元素不存在不会显示异常。
setA={1,89,23, '我辈岂是蓬篙人', '仰天大笑出门去'} setA.discard(67) print(setA)
运行结果
-
pop() #调用pop(),一次只删除一个任意元素。
setA={1,89,23, '我辈岂是蓬篙人', '仰天大笑出门去'} setA.pop() print(setA)
运行结果
-
clear() #调用clear(),清空集合。
setA={1,89,23, '我辈岂是蓬篙人', '仰天大笑出门去'} setA.clear() print(setA)
运行结果
-
del #调用del就是把整个集合删除,对其他的数据结构也有用。
setA={1,89,23, '我辈岂是蓬篙人', '仰天大笑出门去'} del setA print(setA)
运行结果
修改操作
- 集合的修改,可以先删除集合中的内容,然后再添加进去。
setA={23, '我辈岂是蓬篙人', '仰天大笑出门去'} setA.remove(23) setA.update(("飞流直下三千尺","疑是银河落九天")) print(setA)
运行结果
查找操作
- 集合的查找可以用in 或者 not in 判断元素是否在集合中。
setA={23, '我辈岂是蓬篙人', '仰天大笑出门去'} print(23 in setA) print("我辈岂是蓬篙人" not in setA)
运行结果
三、集合间的数学操作
- 交集(&或intersection)【两个集合共有的元素】
setA=set("hello,python") setB=set("hello,world") print(setA & setB) print(setA.intersection(setB))
运行结果
-
并集(union或|)【两个集合合并在一起】
setA=set("hello,python") setB=set("hello,world") print(setA | setB) print(setA.union(setB))
运行结果
-
差集(difference或-)【两个集合不同的元素】
setA=set("hello,python") setB=set("hello,world") print(setA - setB) print(setA.difference(setB))
运行结果
-
对称差集(symmentric_difference或^)【从自身集合中选出另一个集合没有的元素】
setA=set("abcd") setB=set("abc123") print(setA ^ setB) print(setA.symmetric_difference(setB))
运行结果
四、集合间的关系
- 两个集合是否相等:可以用运算符==或!=进行判断
- 一个集合是否是另一个集合的子集:可以调用方法issubset进行判断。
- 一个集合是否是另一个集合的超集:可以调用方法issuperset进行判断。
- 两个集合是否没有交集:可以调用方法isdisjoint进行判断(有交集是False,没有交集是Ture)。
五、集合的生成式
- 集合的生成式和列表生成式一样。将 { } 修改成 [ ] 就是列表的生成式。
setA= {i for i in range(10)} print(setA)
运行结果
总结
以上就是集合的基础内容,如有不对的地方,请指教谢谢,拜拜啦。