zoukankan      html  css  js  c++  java
  • python基础知识-set集合

    set集合

    set集合是一个无序并且不重复的元素集合。

    创建一个set集合

    >>> name = set('hello word')
    >>> name
    {'o', 'e', 'h', 'r', 'd', 'l', ' ', 'w'}

    set的方法

    add()

    作用:向set集合里面添加新的元素

    >>> name = set('hello word')
    >>> name
    {'o', 'e', 'h', 'r', 'd', 'l', ' ', 'w'}
    >>> name.add('python')
    >>> name
    {'o', 'e', 'h', 'r', 'd', 'l', ' ', 'w', 'python'}

    clear()

    作用:清空set集合中的所有元素

    >>> name
    {'o', 'e', 'h', 'r', 'd', 'l', ' ', 'w', 'python'}
    >>> name.clear()
    >>> name
    set()

    copy()

    作用:浅拷贝

    >>> name = set('hello')
    >>> name1 = name.copy()
    >>> name1
    {'o', 'e', 'h', 'l'}

    difference()

    作用:返回两个或多个集合的差异,并作为一下新集合。而不改变原来的集合。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}
    >>> set1.difference(set2)
    {'h'}
    >>> set2.difference(set1)
    {'w'}

    从例子中可以看出,difference()只找出参数集合在原集合中没有的元素。

    可以理解为,拿原集合中的每一个元素去参数集合中做对比,只返回参数集合中没有的元素,作为一个新的集合。

    difference_update()

    作用:删除原集合和参数集合中相同的元素,并更新原集合。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}

    >>> set1.difference_update(set2)
    >>> set1
    {'h'}

    >>> set2
    {'o', 'w', 'e', 'l'}

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}
    >>> set2.difference_update(set1)
    >>> set2
    {'w'}
    >>> set1
    {'o', 'e', 'h', 'l'}

    discard()

    作用:移除集合中的指定元素。

     >>> set1 = {'h','e','l','o'}

    >>> set1.discard('l')
    >>> set1
    {'o', 'e', 'h'}

    intersection()

     作用:取交集,赋值给一个新的集合。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}
    >>> set3 = set1.intersection(set2)
    >>> set3
    {'o', 'e', 'l'}

    intersection_update()

     作用:取交集,修改原集合

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}
    >>> set1.intersection_update(set2)
    >>> set1
    {'o', 'e', 'l'}

    isdisjoint()

     作用,判断是否没有交集,没有交集返回True,有交集返回False。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}
    >>> set1.isdisjoint(set2)
    False
    >>> set3 = {'a','b'}
    >>> set1.isdisjoint(set3)
    True

    issubset()

     作用:判断原集合是否为参数集合的子集,是返回True,不是返回False。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'h','o'}
    >>> set1.issubset(set2)
    False
    >>> set2.issubset(set1)
    True

    issuperset()

    作用:判断原集合是否为参数集合的父集,是返回True,不是返回False。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'h','o'}

    >>> set1.issuperset(set2)
    True
    >>> set2.issuperset(set1)
    False

    pop()

    作用:随机删除一个元素,并获取这个元素。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = set1.pop()
    >>> set2
    'o'
    >>> set1
    {'e', 'h', 'l'}

    remove()

    作用:删除一个指定的元素。

    >>> set1 = {'h','e','l','o'}
    >>> set1.remove('l')
    >>> set1
    {'o', 'e', 'h'}

    symmetric_difference()

    作用:找出两个集合中所有差集,并赋值给新的集合。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}
    >>> set3 = set1.symmetric_difference(set2)
    >>> set3
    {'w', 'h'}

    symmetric_difference_update()

    作用:找出两个集合中所有差集,并更改原集合。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}
    >>> set1.symmetric_difference_update(set2)
    >>> set1
    {'w', 'h'}

    union()

    作用:两个集合的并集。赋值给一个新的集合。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}

    >>> set3 = set1.union(set2)
    >>> set3
    {'o', 'e', 'l', 'w', 'h'}

    update()

     作用:更新原集合。把参数更新到原集合中。

    >>> set1 = {'h','e','l','o'}
    >>> set2 = {'e','l','o','w'}
    >>> set1.update(set2)
    >>> set1
    {'o', 'e', 'h', 'l', 'w'}

    小弟初学python,把自己的理解写为博客,所以博客内容仅供参考。 python之路使用python 3.X版本。 更多内容请关注:http://www.cnblogs.com/binges/
  • 相关阅读:
    背包问题_模板
    hihoCoder week14 无间道之并查集
    hihoCoder week13 最近公共祖先·一
    图片处理工具类 util
    算法导论 第二章 递归与分治
    hihoCoder week12 刷油漆
    hihoCoder week11 树中的最长路
    hihoCoder week10 后序遍历
    hihoCoder week8 状态压缩·一
    hihoCoder week7 完全背包
  • 原文地址:https://www.cnblogs.com/binges/p/5137168.html
Copyright © 2011-2022 走看看