字典

作者: 沐沐_妉杉 | 来源:发表于2021-03-12 21:35 被阅读0次
    一、什么是字典
    1. python内置的数据结构之一,与列表一样是一个可变序列(数据结构可以进行增、删、改操作)

    2. 键值对的方式存储数据,字典是一个无序的序列

    区别:

    列表中,一个元素就是一个元素,是有序序列(第一个位置就是第一个元素,依次类推)

    字典中,一个键值对为一个元素,是无序序列(第一个位置不一定是第一个元素)

    1. 字典示意图

    其中,key1,key2等,代表第几个放入字典中的键。但我们可以看到key1是第一个放入字典的,但它并不在第一个位置。

    为什么会出现这样的情况呢?

    这是因为往字典中存储数据时,需要经过hash()函数这一工序:把键(key)放入hash()函数计算存储位置。

    所以,要求键(key)不变,即为不可变序列。我们了解的字符串以及整数序列就是不可变序列,不能进行增删改操作。

    二、字典的实现原理

    字典的实现原理与查字典类似,查字典是先根据部首或拼音查找相应的页码,Python中的字典是根据key查找value所在的位置。

    三、字典的创建与删除
    (一)字典的创建

    1. 方式:

    (1)最常用的方式:使用花括号

    例:scores={'张三':3,'李四':4}

    (2)使用内置函数dict()

    例:dict(name='凉凉',age=18)

    补充:空字典

    四、字典的查询操作
    (一)字典元素的获取:

    1. []:

    2. get():

    区别:

    • []取值:如果字典中不存在指定的key,抛出KeyError异常
    • get()方法取值:如果字典中不存在指定的key,不会抛出KeyError,而是返回None,可以通过参数设置默认的Value,以便指定的key不存在时返回
    五、字典元素的常用操作
    (一)key的判断

    in:指定的key在字典中返回为True

    not in:指定的key不在字典中返回为True

    (二)字典元素的删除

    方式:del scores[]

    清空字典的元素:

    (三)字典元素的新增

    方式:scores[]=

    (四)字典元素的修改

    方式:scores[]=

    (五)获取字典视图

    1. keys()获取字典所有的key

    2. values()获取字典所有的value

    3. items()获取字典所有的key,value对

    (六)字典元素的遍历

    1. 语法结构

    for item in scores:
         print(item)
    

    2. 程序图示

    (1)输出所有的键

    (2)输出值

    六、字典的特点
    1. 字典中所有的元素都是一个key-value对,key不允许重复,value可以重复。

    key重复,value覆盖

    value可重复:

    1. 字典中的元素都是无序的

    2. 字典中的key必须是不可变对象

    3. 字典可以根据需要,动态地伸缩

    4. 字典会浪费较大的内存,是一种使用空间换时间的数据结构

    七、字典生成式

    内置函数zip():

    用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表。

    示例:

    效果图 具体内容 程序图示

    如果两个列表元素数量不相等,会以元素少的那个列表为基准生成。

    自由发挥......

    视频来源:哔哩哔哩马士兵Python教学

    相关文章

      网友评论

          本文标题:字典

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