Python 集和(set)



  • Python 集合

    集合是无序且无索引的集合。在Python中,集用大括号括起来。
    创建一个集合:
    thisset = {"apple", "banana", "cherry"}
    print(thisset)
    
    
    尝试一下
    注意:集合是无序的,因此您不能确定项目将以什么顺序出现。
  • 访问项目

    您不能通过引用索引来访问集合中的项目,因为集合是无序的,因此项目没有索引。但是,您可以使用循环来遍历设置项 for ,也可以使用 in 关键字询问设置中是否存在指定值 。
    遍历集合,并打印值:
    thisset = {"apple", "banana", "cherry"}
    
    for x in thisset:
      print(x)
    
    
    尝试一下
    检查集合中是否存在“banana”:
    thisset = {"apple", "banana", "cherry"}
    
    print("banana" in thisset)
    
    
    尝试一下
  • 变更项目

    创建集后,您将无法更改其项目,但可以添加新项目。
  • 新增项目

    要将一个项目添加到集合中,请使用 add() 方法。 要向一个集合中添加多个项目,请使用 update() 方法。
    使用以下 add() 方法将项目添加到集合中:
    thisset = {"apple", "banana", "cherry"}
    
    thisset.add("orange")
    
    print(thisset)
    
    
    尝试一下
    使用以下 update() 方法将多个项目添加到集合中:
    thisset = {"apple", "banana", "cherry"}
    
    thisset.update(["orange", "mango", "grapes"])
    
    print(thisset)
    
    
    尝试一下
  • 获取集合的长度

    要确定集合中有多少项,请使用 len() 方法。
    获取集合中的项目数:
    thisset = {"apple", "banana", "cherry"}
    
    print(len(thisset))
    
    
    尝试一下
  • 除去项目

    要删除集合中的项目,请使用 remove()discard() 方法。
    使用以下remove() 方法删除“banana” :
    thisset = {"apple", "banana", "cherry"}
    
    thisset.remove("banana")
    
    print(thisset)
    
    
    尝试一下
    注意:如果要删除的项目不存在,remove() 将引发错误。
    使用以下 discard() 方法删除“banana” :
    thisset = {"apple", "banana", "cherry"}
    
    thisset.discard("banana")
    
    print(thisset)
    
    
    尝试一下
    注意:如果要删除的项目不存在,discard() 则不会引发错误。
    您也可以使用 pop(),方法删除一个项目,但是此方法将删除最后一个项目。请记住,集合是无序的,因此您将不知道要删除的项目。 pop() 方法的返回值是移除的项目。
    使用以下 pop() 方法删除最后一项:
    thisset = {"apple", "banana", "cherry"}
    
    x = thisset.pop()
    
    print(x)
    
    print(thisset)
    
    
    尝试一下
    注意:集是无序的,因此使用 pop() 方法时,您将不知道要删除的项。
    clear() 方法清空集合:
    thisset = {"apple", "banana", "cherry"}
    
    thisset.clear()
    
    print(thisset)
    
    
    尝试一下
    del 关键字将彻底删除该组:
    thisset = {"apple", "banana", "cherry"}
    
    del thisset
    
    print(thisset)
    
    
    尝试一下
  • 结合两组

    有几种方法可以在Python中连接两个或多个集合。您可以使用 union() 返回包含两个集合中所有项目的新集合的方法,也可以使用将一个集合中的所有项目 update() 插入另一个集合的方法:
    union() 方法返回一个新集合,其中包含两个集合中的所有项目:
    set1 = {"a", "b" , "c"}
    set2 = {1, 2, 3}
    
    set3 = set1.union(set2)
    print(set3)
    
    
    尝试一下
    update() 方法将set2中的项目插入set1中:
    set1 = {"a", "b" , "c"}
    set2 = {1, 2, 3}
    
    set1.update(set2)
    print(set1)
    
    
    尝试一下
    注意:无论 union()update() 将排除任何重复的项目。
    还有其他方法将两个集合连接起来,并且仅保留重复项,或者永远不保留重复项,请检查此页面底部的set方法的完整列表。
  • set() 构造函数

    也可以使用 set() 构造函数进行初始化一个set。
    使用 set() 构造函数进行设置:
    thisset = set(("apple", "banana", "cherry")) # note the double round-brackets
    print(thisset)
    
    
    尝试一下
  • 集合方法

    Python有一组内置方法,可以在集合上使用。
    方法 描述
    add() 将元素添加到集合中
    clear() 从集合中删除所有元素
    copy() 返回集合的副本
    difference() 返回一个包含两个或多个集合之间的差的集合
    difference_update() 删除此集合中还包含在另一个指定集合中的项目
    discard() 删除指定的项目
    intersection() 返回一个集合,即另外两个集合的交集
    intersection_update() 删除此集合中其他指定集合中不存在的项目
    isdisjoint() 返回两个集合是否有交集
    issubset() 返回另一个集合是否包含此集合
    issuperset() 返回此集合是否包含另一个集合
    pop() 从集合中删除一个元素
    remove() 删除指定的元素
    symmetric_difference() 返回具有两组对称差的一组
    symmetric_difference_update() 插入此集合和另一个中的对称差
    union() 返回一个包含集合并集的集合
    update() 使用该集合和其他集合的并集更新集合