zoukankan      html  css  js  c++  java
  • python之字典和集合

    字典

    字典的创建

    >>> a = {'one': 1, 'two': 2, 'three': 3}
    >>> b = dict(one=1, two=2, three=3)
    >>> c = dict([('two', 2), ('one', 1), ('three', 3)])
    >>> a == b == c
    True
    >>> d = {}.fromkeys(('x', 'y'), 1)
    >>> d
    {'y': 1, 'x': 1}
    # 字典也可用推导式
    >>> dic = {key:value for key, value in enumerate(['hello', 'world'])}
    >>> dic
    {0: 'hello', 1: 'world'}

    访问字典中的值

    d[key]
    d.get(key)
    d.items(), d.keys(), d.values()
    d.iteritems(), d.iterkeys(), d.itervalues()
    >>> 'x' in d
    True

    更新字典

    >>> d['x'] = 2    # 更新
    >>> d['z'] = 2    # 插入
    >>> d2 = dict(one=1, two=2)
    >>> d3 = dict(one=10, ten=100)
    >>> d2.update(d3)
    >>> d2
    {'two': 2, 'ten': 100, 'one': 10}

    删除字典元素

    del d[key]
    d.pop(key[, default])
    d.clear()

    拷贝字典

    d.copy()   # 注意是浅拷贝

    集合

    集合(sets)有两种不同的类型,可变集合(set) 和 不可变集合(frozenset)。
    对可变集合(set),可以添加和删除元素,对不可变集合(frozenset)则不允许这样做。

    创建集合

    >>> t = set("Hello")         
    >>> t
    set(['H', 'e', 'l', 'o'])    #注意只有一个l
    >>> set([ 1, 2, 3, 4, 1, 2])
    set([1, 2, 3, 4])

    访问集合中的值

    >>> 'H' in t
    True
    >>> for i in t:
            print i

    集合的运算

    a = t | s          # t 和 s的并集  
    b = t & s          # t 和 s的交集  
    c = t – s          # 求差集(项在t中,但不在s中)  
    d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

    更新集合

    >>> t.add('m')
    >>> t
    set(['H', 'm', 'e', 'l', 'o'])
    >>> t.update('world')
    >>> t
    set(['e', 'd', 'H', 'm', 'l', 'o', 'r', 'w'])
    >>> t.remove('m')
    >>> t
    set(['e', 'd', 'H', 'l', 'o', 'r', 'w'])
    >>> t -= set('world')
    >>> t
    set(['e', 'H'])

    ps:集合可用来列表去重

    >>> [i for i in set([11,22,33,44,11,22])]
    [33, 11, 44, 22]  

     2015-05-26

  • 相关阅读:
    BigDecimal 和NumberFormat及 获取总页数的应用
    格式化小数点和百分号 DecimalFormatter
    Vue 项目开发
    js 对象补充
    Vue 实例成员
    Vue 指令
    Vue 介绍
    Vue
    request-html
    Python 中的经典类新式类
  • 原文地址:https://www.cnblogs.com/whuyt/p/4530056.html
Copyright © 2011-2022 走看看