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
  • 集合添加

  1. 使用add()方法添加,把要传入的元素作为一个整体添加到集合中。
  2. 使用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)

    结果:

  • 集合删除

  1. remove(element):删除指定元素,如果元素不存在则会报错。
  2. discard(element):删除指定元素,如果元素不存在也不会报错。
  3. pop():随机删除某个元素。
  4. 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)

    结果:

  • 集合操作运算(也可使用函数)

  1. 交集:集合的交集使用的符号是“&”,返回连个集合的共同元素的集合,即集合的交集。
  2. 并集:并集使用的符号是”|“,是两个集合所有的并去掉重复的元素的集合。
  3. 差集:差集使用的符号是减号“-”,返回的结果是在集合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)

    结果:

  • 函数

 

posted @ 2021-06-17 15:22  rissa  阅读(108)  评论(0)    收藏  举报

记录学习笔记,会有很多是参考重复,如有侵权,联系删除