kuuty 发表于 2016-4-14 09:18:12

python集合(set)

    s = set()      #创建一个数值集合

      

    t = set("Hello")         #创建一个唯一字符的集合

与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。例如,如果检查前面代码中t集合的值,结果会是:

    >>> t

      

    set(['H', 'e', 'l', 'o'])

    注意只出现了一个'l'。

      

    集合支持一系列标准操作,包括并集、交集、差集和对称差集,例如:

      

      

      

    a = t | s          # t 和 s的并集

      

    b = t & s          # t 和 s的交集

      

    c = t – s          # 求差集(项在t中,但不在s中)

      

    d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)


    基本操作:

      

    t.add('x')            # 添加一项

      

    s.update()# 在s中添加多项

      

      

      

    使用remove()可以删除一项:

      

    t.remove('H')

    len(s)

    set 的长度

      

    x in s

    测试 x 是否是 s 的成员

      

    x not in s

    测试 x 是否不是 s 的成员

      

    s.issubset(t)

    s <= t

    测试是否 s 中的每一个元素都在 t 中

      

    s.issuperset(t)

    s >= t

    测试是否 t 中的每一个元素都在 s 中

      

    s.union(t)

    s | t

    返回一个新的 set 包含 s 和 t 中的每一个元素

      

    s.intersection(t)

    s & t

    返回一个新的 set 包含 s 和 t 中的公共元素

      

    s.difference(t)

    s - t

    返回一个新的 set 包含 s 中有但是 t 中没有的元素

      

    s.symmetric_difference(t)

    s ^ t

    返回一个新的 set 包含 s 和 t 中不重复的元素

      

    s.copy()

    返回 set “s”的一个浅复制


    s.update(t)

    s |= t

    返回增加了 set “t”中元素后的 set “s”

      

    s.intersection_update(t)

    s &= t

    返回只保留含有 set “t”中元素的 set “s”

      

    s.difference_update(t)

    s -= t

    返回删除了 set “t”中含有的元素后的 set “s”

      

    s.symmetric_difference_update(t)

    s ^= t

    返回含有 set “t”或者 set “s”中有而不是两者都有的元素的 set “s”

      

    s.add(x)

      

    向 set “s”中增加元素 x

      

    s.remove(x)

      

    从 set “s”中删除元素 x, 如果不存在则引发 KeyError

      

    s.discard(x)

      

    如果在 set “s”中存在元素 x, 则删除

      

    s.pop()

      

    删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发 KeyError

      

    s.clear()

      

    删除 set “s”中的所有元素

页: [1]
查看完整版本: python集合(set)