当前位置 博文首页 > fearlazy:python3基础之字典

    fearlazy:python3基础之字典

    作者:[db:作者] 时间:2021-06-17 21:11

    文章已更新,最新地址:https://www.fearlazy.com/index.php/post/144.html??

    ?

    字典和列表一样,也是python内置的一种数据结构。 字典的结构如下图:

    ????image.png

    ? ? 列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的关系。画个难看的图表示一下:

    image.png

    ????? ?字典中的键要求是唯一的,这个很好理解,如果有两个键是一样的,那我怎么知道要找到是哪个键对应的值呢?字典中的键还必须是不可变的类型,如数字、字符串和元组。如果用可变类型做键会报错,如列表:

    ????????image.png

    ????????使用列表作为键会报unhashable type(只可意会不可言传的翻译...) 。当然正常情况下也不会像测试代码中这样用,这样用字典会累死。

    知道了字典是个什么东西以后,接下来看看字典要怎么用?

    ????????

    ????????1.增加字典中的元素

    ????????image.png

    ????????给字典增加元素可以用update函数,也可以用[]运算符,测试代码中由于之前不包含键为c的元素,因此实现了添加新元素的目的。如果是已存在的键,则会覆盖之前的值。值得注意的是列表中也用到[]运算符,只不过列表中[]内填的是下标,而字典填的是键。

    ????????

    ????????2.删除字典中的元素

    ????????image.png

    ????????删除字典里的元素可以用pop和del(指定要删除的键)。清空所有元素用clear,把字典直接删掉用del。

    ????????

    ????? ??3.查询和修改字典中的元素

    ????????image.png

    ? ? ? ?字典中元素的访问和修改都是用[]。不赋值就是访问,赋值就是修改,要是修改的键不存在就新增,要是访问的键不存在就报错。访问字典元素还可以用get函数如d.get('a'),使用get函数访问不存在的键不会报错,它会返回None。

    ?

    ????????4.其他。

    ????image.png

    ????