zoukankan      html  css  js  c++  java
  • Python学习笔记——集合类型

    集合类型有两种不同的类型——可变集合(set)和不可变集合(frozenset)

    可变集合不是可哈希的,不能用作字典的键,也不能用做其他集合中的元素

    不可变集合是有哈希值的,能被用做字典的键或者是作为集合中的一个成员

    1.创建集合类型和给集合赋值

    >>> s = set('cheeseshop')
    >>> s
    set(['c', 'e', 'h', 'o', 'p', 's'])
    >>> t = frozenset('bookshop')
    >>> t
    frozenset(['b', 'h', 'k', 'o', 'p', 's'])
    >>> type(s)
    <type 'set'>
    >>> type(t)
    <type 'frozenset'>
    >>> len(s)
    6
    >>> len(t)
    6
    >>> s == t
    False
    

    2.访问集合中的值

    >>> 'k' in s
    False
    >>> 'k' in t
    True
    >>> for i in s:
    ...     print i
    ... 
    c
    e
    h
    o
    p
    s
    

    3.更新集合

    >>> s.add('z')
    >>> s
    set(['c', 'e', 'h', 'o', 'p', 's', 'z'])
    >>> s.update('abc')
    >>> s
    set(['a', 'c', 'b', 'e', 'h', 'o', 'p', 's', 'z'])
    >>> s.remove('z')
    >>> s
    set(['a', 'c', 'b', 'e', 'h', 'o', 'p', 's'])
    >>> s -= set('abc')
    >>> s
    set(['e', 'h', 'o', 'p', 's'])
    

       不可变集合不能修改

    4.删除集合中的成员和集合

    >>> del t
    

    5.集合类型操作符

      <1>标准类型操作符

        1.成员关系(in,not in)

        2.集合等价/不等价(==,!=)

        3.子集/超集(<,<=,>,>=)

      <2>集合类型操作符

        1.联合(|)

    >>> s|t
    set(['b', 'e', 'h', 'k', 'o', 'p', 's'])
    

        2.交集(&)

    >>> s&t
    set(['h', 's', 'o', 'p'])
    

        3.差补/相对补集(-)

    >>> s-t
    set(['e'])
    

         4.对称差分(^),即(XOR)异或,只能是属于集合s或者集合t的成员,不能同时属于两个集合

    >>> s^t
    set(['b', 'e', 'k'])
    

         5.混合集合类型操作

           类型不相同的时候,产生的结果类型和左操作数的类型相同

      <3>集合类型操作符(仅适用于可变集合)

        1.update()方法或者|=

    >>> s|=t
    >>> s
    set(['b', 'e', 'h', 'k', 'o', 'p', 's'])
    

         2.intersection_update()方法或者&=,保留两个集合重复的成员

    >>> s
    set(['a', 'c', 'b', 'd'])
    >>> t
    set(['e', 'd', 'f'])
    >>> s&=t
    >>> s
    set(['d'])
    

        3.difference_update()方法或者-=

        4.symmetric_difference_update()方法或者^=,差分操作

    6.内建函数

      <1>标准类型函数——len()

        <2>集合类型工厂函数——set()和frozenset()

    7.集合类型内建方法——P184

  • 相关阅读:
    常用Linux 服务器命令--各种性能指标命令
    jenkins离线插件安装--笨方法
    Jmeter压力测试简单教程(包括服务器状态监控)
    【JMeter】JMeter使用plugins插件进行服务器性能监控
    Linux查看服务器配置常用
    Linux下内存查看命令
    【linux命令】lscpu、etc/cpuinfo详解
    Jmeter用于接口测试中【接口耦合关联的实现】
    jmeter教程--简单的做压力测试
    将字母拆分
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/5748148.html
Copyright © 2011-2022 走看看