Python学习之set集合
set集合
集合是一个无序不重复元素的集。
-
创建集合
可以使用大括号 { } 或者 set() 函数创建集合。注意:创建一个空集合是用set()创建,{}创建的是空字典。
# 创建集合 set_demo = {'语文', '数学', '英语', '生物'} print(type(set_demo)) print("demo:", set_demo) set_demo1 = set([1, 2, 3, 4, 4, 5, 5, 6, 7, 1]) # 列表 print(type(set_demo1)) print("demo1:", set_demo1) # 重复的元素在set中会被自动过滤 set_demo2 = set(('java', 'python', 'c++')) # 元组 print(type(set_demo2)) print("demo2:", set_demo2) set_demo3 = set({'小红': 23, '小米': 18, '小青': 19}) # 字典,字典转set集合,需要注意的是,只取了字典的key,相当于将字典中的dict.keys()列表转成set集合 print(type(set_demo3)) print("demo3:", set_demo3) set_demo4 = set() print(type(set_demo4)) # set demo5 = {} print(type(demo5)) # dict
-
集合添加
- 使用add()方法添加,把要传入的元素作为一个整体添加到集合中。
- 使用update()方法添加,是把要传入的元素拆分成单个字符,存于集合中,并去掉重复的字符。可以一次添加多个值。且参数可以是列表,元组,字典等。
实例:
# 添加元素 set_demo = {'语文', '数学', '英语', '生物'} print("demo:", set_demo) set_demo.add("物理") print("add添加元素后的demo:", set_demo) set_demo.update('化学') # update直接添加元素会被拆分为单个字符 print("update添加元素后的demo:", set_demo) set_demo.update({'历史'}) # 整个元素添加 print("update添加元素后的demo:", set_demo) set_demo1 = set([1, 2, 3, 4, 4, 5, 5, 6, 7, 1]) # 列表 print("demo1:", set_demo1) # 去重了 set_demo1.add(8) print("add添加元素后的demo1:", set_demo1) set_demo1.update([9, 10], [11, 12]) print("update添加元素后的demo1:", set_demo1) set_demo2 = set(('java', 'python', 'c++')) # 元组 print("demo2:", set_demo2) set_demo2.add("vue") print("add添加元素后的demo2:", set_demo2) set_demo2.update(('php', 'go', 'c')) print("update添加元素后的demo2:", set_demo2) set_demo3 = set({'小红': 23, '小米': 18, '小青': 19}) # 字典 print("demo3:", set_demo3) set_demo3.add("花花") print("add添加元素后的demo3:", set_demo3) set_demo3.update({"小白": 20}) print("update添加元素后的demo3:", set_demo3)
结果:

-
集合删除
- remove(element):删除指定元素,如果元素不存在则会报错。
- discard(element):删除指定元素,如果元素不存在也不会报错。
- pop():随机删除某个元素。
- clear():清空集合中的元素。
实例:
# 删除元素 set_demo6 = set(['高数', '线性代数', '概率论', '统计学', '计算机网络', '数据结构']) print("原demo6:", set_demo6) set_demo6.remove('高数') # 如果元素不存在会报错 print("remove删除元素后的demo6:", set_demo6) set_demo6.discard("计算机网络") # 如果元素不存在也不会报错 print("discard删除元素后的demo6:", set_demo6) set_demo6.pop() # 随机删除某个元素 print("pop删除元素后的demo6:", set_demo6) set_demo6.clear() # 清空元素 print("clear元素后的demo6:", set_demo6)
结果:

-
集合操作运算(也可使用函数)
- 交集:集合的交集使用的符号是“&”,返回连个集合的共同元素的集合,即集合的交集。
- 并集:并集使用的符号是”|“,是两个集合所有的并去掉重复的元素的集合。
- 差集:差集使用的符号是减号“-”,返回的结果是在集合st1中但不在集合st2中的元素的集合。
实例:
set_demo7 = {'a', 'b', 'c', 'd', 'e', 'f', 'g'}
set_demo8 = {'a', 'c', 'e', 'g', 'h', 'z', 'w'}
print("demo7和demo8的交集:", set_demo7 | set_demo8)
print("demo7和demo8的并集:", set_demo7 & set_demo8)
print("demo7包含而demo8不包含的元素:", set_demo7 - set_demo8)
print("使用difference函数求的差集:", set_demo7.difference(set_demo8))
print("不同时包含于demo7和demo8的元素", set_demo7 ^ set_demo8)
结果:

-
函数

记录学习笔记,有其他参考,如有侵权,联系删除
本文来自博客园,作者:rissa,转载请注明原文链接:https://www.cnblogs.com/rissa/p/14892807.html

浙公网安备 33010602011771号