Python的套装简介
#编程 #python #datastructures #set

数据结构用于组织数据以便在需要时有效访问。
它们是编程语言的重要组成部分,在Python中,它们包括:列表,词典,集合和元组。本文提供了集合数据结构的简要概述。

什么是套装?

  • 这些是无重复元素的无序集合,可以使用Curly Braces({})或Set()函数创建它们。
  • 仅通过set()函数来创建空集,因为{}将创建一个空词典,这是完全不同的数据结构。
  • 集合是可变的,因此可以添加或删除元素。
  • 集合用于会员资格测试,即检查序列中是否存在特定元素,消除重复条目以及数学操作。

创建集合

  • 使用set()函数
>>> a = set((1, 2, 3))
>>> a
{1, 2, 3}
  • 使用卷曲括号
>>> my_set = {'Red', 'Yellow', 'Blue'}
>>> type(my_set)
<class 'set'>

修改集合

集合的突变性允许在集合中添加或去除元素,这在下面证明。

  • 添加元素
>>> my_set = {1, 2, 3, 4, 5, 6}
>>> my_set.update((67,))
>>> my_set
{1, 2, 3, 4, 5, 6, 67}
  • 删除元素
>>> my_set = {1, 2, 3, 4, 5, 6}
>>> my_set.remove((5))
>>> my_set
{1, 2, 3, 4, 6}

集合中的数学操作

  • 联合:两组的所有元素的集合,没有重复的,都使用了运算符或Union()方法
>>> a = {1, 2, 3, 4,  5, 6,} 
>>> b = {9, 10 ,1, 11, 4}
>>> a | b
{1, 2, 3, 4, 5, 6, 9, 10, 11}

>>> a.union(b)
{1, 2, 3, 4, 5, 6, 9, 10, 11}
  • 交叉点:两个集合的所有共同元素的集合,使用&andsection()方法
>>> a = {1, 2, 3, 4,  5, 6,} 
>>> b = {9, 10 ,1, 11, 4}
>>> a & b
{1, 4}

>>> a.intersection(b)
{1, 4}
  • 差异:第一组中不存在的所有元素的集合,使用– operator或nouther()方法
>>> a = {1, 2, 3, 4,  5, 6,} 
>>> b = {9, 10 ,1, 11, 4}
>>> a - b
{2, 3, 5, 6}

>>> a.difference(b)
{2, 3, 5, 6}
  • 对称差异:第一组或第二组中的所有元素的集合,但在两者中都不使用,使用the^ocerator或symmetric_difference()方法
>>> a = {1, 2, 3, 4,  5, 6,} 
>>> b = {9, 10 ,1, 11, 4}
>>> a ^ b
{2, 3, 5, 6, 9, 10, 11}

>>> a.symmetric_difference(b)
{2, 3, 5, 6, 9, 10, 11}

参考