美文网首页
Python 3 笔记 - 第5章 数据结构 - Diction

Python 3 笔记 - 第5章 数据结构 - Diction

作者: 小叶与小茶 | 来源:发表于2018-06-22 11:59 被阅读14次

    Dictionary 是使用非常频繁的另外一种序列类数据结构,元素采用“键-值”对的形式写在花扣号(“{}”)里,用逗号相间隔。在同一字典中,“键” 是唯一的,不能重复。

    可以把字典理解为一种特殊的集合,以关键字为索引的无序 “key-value“对的集合。

    和列表或元组相比,序列或元组是以连续的整数为索引,而字典以关键字为索引。关键字可以是任意不可变类型,通常用字符串或数值。

    dictionary = {key_1 : value_1, key_2 : value_2, ... key_n : value_n}
    

    1. 访问和修改字典元素。

    访问字典元素的语法是:dictionary[key]

    # 女神胸围
    goddess_bust_size = {
        'sunyanzi' : 'A', 
        'zhuyin' : 'B', 
        'qiushuzhen' : 'C',
        'linzhiling' : 'D', 
        'liuyan' : 'E'    
    }
    
    print("Sun Yanzi's bust size is : " + goddess_bust_size['sunyanzi'])
    print("Zhu Yin's bust size is : " + goddess_bust_size['zhuyin'])
    print("Qiu Shuzhen's bust size is : " + goddess_bust_size['qiushuzhen'])
    print("Lin Zhiling's bust size is : " + goddess_bust_size['linzhiling'])
    print("Liu Yan's bust size is : " + goddess_bust_size['liuyan'])
    

    执行结果为:

    Sun Yanzi's bust size is : A
    Zhu Yin's bust size is : B
    Qiu Shuzhen's bust size is : C
    Lin Zhiling's bust size is : D
    Liu Yan's bust size is : E
    

    如果访问的 key 不存在,会提示“键错误”

    # 小四的胸围是多少
    print("Guo Jingming's bust size is : " + goddess_bust_size['guojingming'])
    

    执行结果为:

    KeyError: 'guojingming'
    

    修改字典元素值

    # 修改孙燕姿的胸围
    goddess_bust_size['sunyanzi'] = 'E'
    print("Sun Yanzi's bust size is : " + goddess_bust_size['sunyanzi'])
    

    执行结果为:

    Sun Yanzi's bust size is : E
    

    2. 字典中元素的数据类型可以不同。

    和 List 一样,字典也是一个超级收纳箱,比如记录一个人的信息

    # 女神柳岩的信息
    liuyan = {
        'name' : '柳岩',
        'birthday' : '1980-11-08',
        'age' : 38,
        'bust_size' : 'E'
    }
    
    print(liuyan)
    

    执行结果为:

    {'name': '柳岩', 'birthday': '1980-11-08', 'age': 38, 'bust_size': 'E'}
    

    3. 向字典添加新内容的方法是直接增加新的键/值对。

    # 新增柳岩的信息
    liuyan['hobby'] = '唱歌和跳舞'
    
    print(liuyan)
    

    执行结果为:

    {'name_ch': '柳岩', 'birthday': '1980-11-08', 'age': 38, 'bust_size': 'E', 'hobby': '唱歌和跳舞'}
    

    4. 字典中元素的“键”不能重复出现。

    如果同一个键被赋值两次,以后一个值为准。

    liuyan = {
        'name' : '柳岩',    # 键重复了
        'name' : 'Ada',    # 键重复了
        'birthday' : '1980-11-08',
        'age' : 38,
        'bust_size' : 'E'
    }
    
    print(liuyan)
    

    执行结果为:

    {'name': 'Ada', 'birthday': '1980-11-08', 'age': 38, 'bust_size': 'E'}
    

    5. 字典中元素的“键”必须是不可变的元素,比如数值、字符串或元组

    6. 字典相关的函数和方法

    这里说的函数值得是 Python 内置的、可供全局调用的方法;而方法则指的是列表自身提供的方法。

    序号 类别 名称 说明
    1 len() 全局函数 len(dict) 返回字典中元素个数
    2 get() 方法 dict.get(key[, default]) 在返回指定键的值,如果键不在字典中返回default值
    3 items() 方法 dict.items() 以列表形式返回字典遍历结果
    4 pop() 方法 dict.pop(key[, default]) 弹出指定键所对应的值。key值必须给出。 否则,返回default值
    5 key in dict 方法 key in dict 如果键在字典dict里返回true,否则返回false
    >>> goddess = {'Top 1' : '蔡少芬', 'Top 2' : '王祖贤', 'Top 3' : '邱淑贞', 'Top 4' : '赵雅芝'}
    
    >>> goddess.get('Top 1')
    '蔡少芬'
    
    >>> goddess.items()
    dict_items([('Top 1', '蔡少芬'), ('Top 2', '王祖贤'), ('Top 3', '邱淑贞'), ('Top 4', '赵雅芝')])
    
    >>> goddess.get('Top 5', '柳岩')
    '柳岩'
    
    >>> goddess.pop('Top 4')
    ('Top 4', '赵雅芝')
    
    >>> 'Top 1' in goddess
    True
    

    给程序狗送福利

    女神

    相关文章

      网友评论

          本文标题:Python 3 笔记 - 第5章 数据结构 - Diction

          本文链接:https://www.haomeiwen.com/subject/tikkyftx.html