python集合

集合(set)

1、什么是集合

集合能够理解成一个集合体,学习python的学生能够当作一个集合体,学习linux的学生也能够当作一个集合体。linux

  1. 用途:==去重,乱序==。用于关系运算的集合体,因为集合体内的元素无序且集合元素不可重复,所以集合能够去重,可是集合是无序的,去重以后会打乱原来元素的顺序。学习

  2. 定义:{}内用逗号分隔开多个元素,每一个元素必须是不可变的类型。code

  3. 定义空集合blog

    s = {}  # 空大括号是字典,不是集合,定义空集合必须得用set()

二,内置方法

2.1优先掌握

  1. 长度lenrem

    s = {1,2,'a'}
    print(len(s))
    #输出:
    3
  2. 成员运算in or not init

    s = {1,2,'a'}
    print(1 in s)
    print(2 not in s)
    #输出:
    True
    False

  3. |并集 unionio

    s1 = {1,2,'a'}
    s2 = {1,2,3,4,'b'}
    print(s1|s2)
    print(s1.union(s2))
    #输出:
    {1, 2, 3, 4, 'b', 'a'}
    {1, 2, 3, 4, 'b', 'a'}
  4. &交集 intersectionclass

    s1 = {1,2,'a'}
    s2 = {1,2,3,4,'b'}
    print(s1&s2)
    print(s1.intersection(s2))
    #输出:
    {1, 2}
    {1, 2}
  5. -差集 differencedate

    s1 = {1, 2, 'a'}
    s2 = {1, 2, 3, 4, 'b'}
    print(s1 - s2)
    print(s1.difference(s2))
    print(s2 - s1)
    print(s2.difference(s1))
    #输出:
    {'a'}
    {'a'}
    {3, 4, 'b'}
    {3, 4, 'b'}
  6. ^对称差集 symmetric_difference

    ##取出除共有的外
    s1 = {1, 2, 'a'}
    s2 = {1, 2, 3, 4, 'b'}
    print(s1^s2)
    print(s1.symmetric_difference(s2))
    #输出:
    {'b', 3, 4, 'a'}
    {'b', 3, 4, 'a'}
  7. ==

    #比较
    s1 = {1, 2, 'a'}
    s2 = {1, 2, 3, 4, 'b'}
    print(s1 == s2)
    #输出:
    False
  8. 父集: > >= issuperset

    s1 = {1, 2, 'a'}
    s2 = {1, 2, 'a'}
    s3 = {1, 2}
    print(s1 >= s2)
    print(s1.issuperset(s2))
    print(s1 > s3)
    print(s1.issuperset(s3))
    print(s1 >= s3)
    print(s1.issuperset(s3))
    print(s3.issuperset(s1))
    #输出:
    True
    True
    True
    True
    True
    True
    False
  9. 子集:< <= issubset

    s1 = {1, 2, 'a'}
    s2 = {1, 2, 'a'}
    s3 = {1, 2}
    print(s1 <= s2)
    print(s1.issubset(s2))
    print(s3 < s1)
    print(s3.issubset(s1))
    print(s3 <= s1)
    print(s3.issubset(s1))
    #输出:
    True
    True
    True
    True
    True
    True

2.2须要掌握

  1. add()添加

    s1 = {1, 2, 'a'}
    s1.add(5)
    print(s1)
    #输出:
    {1, 2, 5, 'a'}
  2. remove()移除,没有报错

    s1 = {1, 2, 'a'}
    s1.remove(2)
    print(s1)
    #输出:
    {1, 'a'}
  3. difference_update()

    # 取出和另一个集合不一样的元素
    s1 = {1, 2, 'a'}
    s2={1,2,4,5,'b','c'}
    s2.difference_update(s1)
    print(s2)
    #输出:
    {4, 5, 'c', 'b'}
  4. discard()删除(抛弃),没有不报错

    s1 = {1, 2, 'a'}
    # s1.remove(3)# 报错
    s1.discard(3)
    print(s1)
    #输出:
    {1, 2, 'a'}
  5. isdisjoint

    # 集合没有共同的部分返回True,不然返回False
    s1 = {1, 2, 'a'}
    s2 = {1,2,3,4,5,'b'}
    s3 = {6,7,8}
    
    
    print(s2.isdisjoint(s1))
    print(s2.isdisjoint(s3))
    #输出:
    False
    True
  6. clear

  7. copy

  8. remove

  9. pop(随机删除)

  10. discard()抛弃

  11. 存在一个或者多个值:多个值,不可改变

  12. 有序或者无序:无序

  13. 可变或者不可变:可变数据类型

相关文章
相关标签/搜索