Chapter04 字典:当索引不好用时

字典的使用
    >>> names = ['Alice','Bob']
    >>> names[1]
    'Bob'
    >>> numbers = ['1234', '4321']
    >>> numbers[names.index('Bob')]
    '4321'

创建和使用字典
    >>> phonebook = {'Alice': '1234', 'Bob': '4321'}
    >>> phonebook
    {'Bob': '4321', 'Alice': '1234'}
可以这样调用
    >>> phonebook['Bob']              
    '4321'
反之就不行
    >>> phonebook['4321']
    Traceback (most recent call last):
      File "", line 1, in
        phonebook['4321']
    KeyError: '4321'

dict函数
 通过其他映射(比如字典,这里的phonebook)或者(键,值)这样的序列对建立字典。
    >>> d = dict(phonebook)
    >>> d
    {'Bob': '4321', 'Alice': '1234'}
    >>> d['Bob']
    '4321'

基本字典操作
    len(d)      返回d中项(一个键值对)的数量
    d[k]         返回关联到键k上的值
    d[k] = v     将值v关联到键k上
    del d[k]    删除键为k的项
    k in d        检查d中是否含有键为k的项

字典的格式化字符串
    >>> phonebook
    {'Bob': '4321', 'Alice': '1234'}
    >>> "Bob's phone number is %(Bob)s." % phonebook
    "Bob's phone number is 4321."
    >>> "Bob's phone number is %(Alice)s." % phonebook
    "Bob's phone number is 1234."

字典方法
    clear        -清除字典中多有的项
        >>> phonebook
        {'Bob': '4321', 'Alice': '1234'}
        >>> phonebook.clear()
        >>> phonebook
        {}
    copy        -返回一个具有相同键值的新字典
        >>> DB = {'name':'Merisc', 'school':'Sun-Yet'}
        >>> DB
        {'school': 'Sun-Yet', 'name': 'Merisc'}
        >>> me = DB.copy()
        >>> me
        {'school': 'Sun-Yet', 'name': 'Merisc'}
    fromkeys    -使用给定的键建立新的字典,每个键默认对应的值为None
        >>> {}.fromkeys(['name','age'])
        {'age': None, 'name': None}
        >>> dict.fromkeys(['name','age'])
        {'age': None, 'name': None}
        >>> dict.fromkeys(['name','age'],'(unknown)')
        {'age': '(unknown)', 'name': '(unknown)'}
    get            -访问字典项,不存在时出错
        >>> d = {}
        >>> print d['name']
        Traceback (most recent call last):
          File "", line 1, in
            print d['name']
        KeyError: 'name'
        >>> print d.get('name')
        None
        >>> print d.get('name', 'N/A')
        N/A
        >>> d['name'] = 'Eric'
        >>> d.get('name')
        'Eric'    
    has_key        -检查是否含有给出的键
        >>> d.has_key('name')
        True
        >>> d.has_key('n')
        False
    items和iteritems        -items以列表方式返回所有字典项,
                            -iteritems返回一个迭代器对象而不是列表(一般更高效)
        >>> d.items()
        [('name', 'Eric')]
        >>> it = d.iteritems()
        >>> it
        
        >>> d.iteritems
        
    keys和iterkeys        -keys以列表的形式返回,iterkeys返回针对键的迭代器
    pop                    -获得对应于给定键的值,并且将这个键值对移除
        >>> DB
        {'school': 'Sun-Yet', 'name': 'Merisc'}
        >>> DB.pop('school')
        'Sun-Yet'
        >>> DB
        {'name': 'Merisc'}
    popitem            -弹出随机的项,并且移除
    setdefault        -类似于get,获得给定键相关联的值,在字典中不含有给定键的情况下设定相应的键值。
        >>> d = {}
        >>> d.setdefault('name','N/A')
        'N/A'
        >>> d
        {'name': 'N/A'}
    update        -可以利用一个字典项更新另外一个字典
        >>> d = {'title':'Python', 'url':'www.python.org'}
        >>> x = {'title':'C++'}
        >>> d.update(x)
        >>> d
        {'url': 'www.python.org', 'title': 'C++'}
    values和itervalues        -values以列表的形式返回字典中的值
                            -itervalues返回值得迭代器
        >>> d = {}
        >>> d[1] = 1
        >>> d[2] = 2
        >>> d[3] = 3
        >>> d[4] = 1
        >>> d.values()
        [1, 2, 3, 1]
        >>> d.itervalues()
        
        
        
小结
    1.映射
    2.利用字典格式化字符串
    3.字典的方法


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部