python 集合set

目录

  集合

  集合数学

  集合方法

  案例

集合 set 

  1.用途:运算关系 去重

  2.定义方式:在{}内用逗号分隔各个元素

a = {1,1.1,'Jason',(1,2)}  
# a = ser(1,1.1,'Jason',(1,2))
print(a,type(a))
# {'Jason', 1, (1, 2), 1.1} <class 'set'>

  3.集合的三大特性

    (1)每个值都是不可变的

    (2)元素不能重复

a = {1,1,22,22,3,6,6}
print(a)
# {1, 3, 22, 6}

    (3)集合内的元素是无序的

a = {1,'a',2,'s'}
# a[0]  # 报错

  

集合数学

  1. 两个集合中相同的数,合集

  2. 并集

  3. 差集

  4. 交集

  5. 相等

  6. 子集

# a = {1,2,3,4,5}
# b = {3,4,5,6,7}
# # 提取a,b中相同的数字.集合
# print(a & b)  # {3, 4, 5}
# print(a.intersection(b))
#
# # 提取a和b的并集
# print(a | b)  # {1, 2, 3, 4, 5, 6, 7}
# print(a.union(b))
#
# # a 和 b的差集
# print(a - b)  # 1, 2}
# print(a.difference(b))
# print(b - a)  # {6, 7}
# print(b.difference(a))
#
# # a和b都有 交集
# print(a ^ b)  # {1, 2, 6, 7}
# print(a.symmetric_difference((b)))

# 是否相等
# a = {1,2,3,4,5}
# b = {1,2,3,5,4}
# print(a == b)  # True
# 无序的

# 子集
# a = {1,2,3,4}
# b = {1,2,3,5,4}
# print(b >= a)

 

内置方法

  1. update

  2. add

  3. pop

  4. remove

# 1.update
# a = {1,2,3,4}
# a.update({3,4,5})
# print(a)

# 2.add
# a = {1,2,3,4}
# a.add(5)
# print(a)

# 3.pop
# a ={1,2,3,4}
# res = a.pop()
# print(a)
# print(res)

# 4.remove
# a = {1,2,3,4}
# res = a.remove(3)
# print(a)
# print(res)  # None
# 删除的元素不存在不报错

# 5.difference_update() 和difference相同
# a = {1,2,3,4}
# a1 = {1,2}
# a.difference_update(a1)
# print(a)
# a.difference(a1)
# print(a)  # {3, 4}

# 6.discard()
# a = {1,2,3,4}
# res = a.discard(3)
# # print(res)  # None
# print(a)  # {1, 2, 4}
# 删除的元素不存在不报错

# 7.isdisjoint()
# a = {1,2,3}
# a1 = {1,2,4}
# print(a.isdisjoint(a1))
# 两个集合没有交集这为真

总结

  1,存多个值

  2,无序

  3,可变类型

案例

  1. 集合去重

  局限性

    1 无法保证原数据的顺序

    2 当一个数据包含多个值,每个值为不可变类型才能用集合去重

# names ={'alex','egon','alex','alex','egon','lxx'}
# s = set(names)
# print(s)
# a = list(s)
# print(a)

# students = [
#     {'name':'egon','age':18},
#     {'name':'jason','age':19},
#     {'name':'oldboy','age':20},
#     {'name':'egon','age':18},
#     {'name':'jason','age':19},
# ]
# # set(students)  # 报错
#
# a = []
# for info in students:
#     if info not in a:
#         a.append(info)
# # print(a)
# students = a
# print(students)

 

posted @ 2021-05-13 15:24  zhuang6  阅读(53)  评论(0编辑  收藏  举报