Python数据结构-集合

Python语法基础 一
Python语法基础 二
Python语法基础 三
Python数据结构-列表
Python数据结构-字典
Python数据结构-元组

1.集合
"""

    集合(set):没有重复元素且没有顺序的数据结构
    定义语法:
        s = set({})  #空集合
        s = set({1, 2, 3, 4, 5})
    增加:
        add()           往集合添加一条数据
        update()        合并,支持传入列表、字典、元组、集合,不支持传入单个元素
    删除:
        remove()        根据值删除,值不存在会报错
        discard()       根据值删除,值不存在不会报错
        pop()           随机删除
        clear()         清空
    长度:
        len             获取元素的容量大小
    元素是否存在:
        in              set中存在该值吗?
        not in          set中不存在该值吗?

    交集 &               获取两个集合中共同有的元素
    并集 |               获取两个集合中的所有元素
    差集 -               获取在a集合中出现了但在b集合的中没有出现的元素
"""

# 定义语法:
# s = set({})#定义一个空集合
# s = set({1, 2, 3, 4})  # 定义一个有初始化值的集合
#  没有重复元素
# s = {1, 2, 3, 4, 1}
# print(s)  # {1, 2, 3, 4}

# 增加:
# add()
# s = set({})
# s.add("1")
# s.add("2")
# s.add("3")
# print(s)  # {'2', '3', '1'}

# update()
# s = set({1, 2, 3})

# s.update((4, 5))  # 传入一个元组
# print(s)  # {1, 2, 3, 4, 5}

# s.update({"name": "zzw", "age": 18})  # 传入一个字典,只会把key添加进去
# print(s)

# s.update([1, 4, 5])  # 传入一个列表
# print(s)  # {1, 2, 3, 4, 5}

# s.update(set({4, 5, 6}))  # 传入一个集合
# print(s)  # {1, 2, 3, 4, 5, 6}

# s.update(1)  # 报错TypeError: 'int' object is not iterable

# 删除
# s = {1, 2, 3, 4, 5, 6}
# remove()
# s.remove(1)
# print(s)  # {2, 3, 4, 5, 6}

# discard()
# s.discard(1)  # {2, 3, 4, 5, 6}

# remove()和discard()的区别 体现在删除一个不存在元素时的处理方式不同
# s.remove(7)  # 报错
# s.discard(7)  # 不报错

"""
    pop() 随机删除一个元素
"""
# pop() 随机删除一个元素
# print(s.pop())  # 1

# clear() 清空数据
# print(s)  # {1, 2, 3, 4, 5, 6}
# s.clear()
# print(s)  # set()


# 交集、并集、差集
# 交集
# s1 = set({1, 2, 3})
# s2 = set({2, 3, 4})
# print(s1 & s2)  # {2, 3}
# 并集
# s1 = set({1, 2, 3})
# s2 = set({2, 3, 4})
# print(s1 | s2)  # {1, 2, 3, 4}
# 差集
# s1 = set({1, 2, 3})
# s2 = set({2, 3, 4})
# print(s1 - s2)  # {1}

# 元素去重 list-->set-->list
# lis = {1, 2, 3, 1, 2, 4, 5}
# s = set(lis)
# lis = list(s)
# print(lis)  # [1, 2, 3, 4, 5]

猜你喜欢

转载自blog.csdn.net/weixin_45355510/article/details/113100201