美文网首页
Python3数据类型-04-字典

Python3数据类型-04-字典

作者: snape00 | 来源:发表于2019-12-12 22:19 被阅读0次

    Python3数据类型-字典-04

    4.1 什么是字典(dict)?

    字典同样是一种容纳多个元素的容器,在很多方面和列表类似。但是,不同的一点是,字典不是以位置来索引的。

    字典包含多个元素,每个元素以,分隔开,每个元素包含两部分:键(Key)值(Value)键(Key)值(Value)之间用冒号:分隔开。所有元素用大括号{}扩起来。

    字典元素的索引正是依靠元素的键(Key)实现的。

    字典元素的键(Key)必须是唯一的,值则不需要唯一。

    d = {key1 : value1, key2 : value2 }
    

    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组

    4.2 构建一个字典

    dict_score = {'Smith': 90, 'Tim': 88, 'Leo': 92, 'Chris': 87}
    dict1 = {28.5: 36}
    dict2 = {'abc': 12, 'ghi': 16}
    
    print(dict_score)
    print(dict1)
    print(dict2)
    

    输出结果为:

    dict_score = {'Smith': 90, 'Tim': 88, 'Leo': 92, 'Chris': 87}
    dict1 = {28.5: 36, 16.7: 74}
    dict2 = {'abc': 12, 'ghi': 16}
    

    4.3 字典的访问

    字典的访问是通过键来实现的,例如:

    print(dict_score['Leo'])
    print(dict1[16.7])
    print(dict2['ghi'])
    

    输出结果为:

    92
    74
    16
    

    4.4 字典修改和删除

    前面提到,字典是一种可变的数据类型,那么我们就可以对其进行修改或者删除。

    字典的修改:包括对字典已有的值的重新复制以及增加一组键和值。

    # 下面演示一下对字典进行修改
    dict_score['Chris'] = 95
    dict_score['Steve'] = 89
    dict1[28.5] = 12
    dict2['abc'] = 8
    print(dict_score)
    print(dict1)
    print(dict2)
    
    

    输出结果如下:

    {'Smith': 90, 'Tim': 88, 'Leo': 92, 'Chris': 95, 'Steve': 89}
    {28.5: 12, 16.7: 74}
    {'abc': 8, 'ghi': 16}
    

    字典的删除:包括对已有值的删除del和对整个字典的清空clear

    # 下面演示一下字典的删除
    del dict_score['Tim']
    dict1.clear()
    # del dict2
    print(dict_score)
    print(dict1)
    print(dict2)
    

    输出结果如下:

    {'Smith': 90, 'Leo': 92, 'Chris': 95, 'Steve': 89}
    {}
    {'abc': 8, 'ghi': 16}
    

    需要注意的是,对整个字典执行del命令之后,系统将整个字典从内存中删除,删除后在执行print命令,系统会报错,提示未定义。

    clear命令只是清空了这个字典中的所有键及值,但是字典本身还存在于系统内。

    4.5 字典内置函数

    主要的内置函数:

    len(dict) —— 字典的长度,即键的总数

    str(dict) —— 输出字典,以可打印的字符串表示

    type(dict) —— 返回字典的类型

    4.6 小结

    这一节我学习了字典的一些基础知识,一些字典内置方法我没有继续学习,我将在今后具体应用过程中再来学习和加深。

    下一节我将学习一下集合。

    相关文章

      网友评论

          本文标题:Python3数据类型-04-字典

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