Python编程基础之字典

 更新时间:2021年12月07日 15:51:09   作者:howard2005  
这篇文章主要为大家介绍了Python的字典,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

一、字典概念

字典(dict)可能是最重要的Python内置数据结构,更常用的名称是哈希映射(HashMap - Java)或关联数组(Associate Array - PHP)。它是键值对(Key-Value Pair)的集合,键和值都是Python对象。定界符是花括号{},键与值用半角的分号隔开。

其实,Python的字典跟JSON很类似。

JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation);

JSON 是轻量级的文本数据交换格式,JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。JSON 具有自我描述性,更易理解。

利用Json Viewer工具来格式化JSON对象或JSON数组

格式化JSON

切换到Viewer选项卡,可视化JSON

二、字典操作

(一)创建字典

1、先创建空字典,再添加元素(键值对)

给字典按键赋值时,如果键不存在,则添加新元素,否则就是用新值替换旧值

2、直接创建包含若干键值对的字典

(二)字典操作

1、读取字典元素 - 按键取值

按键取值,如果键存在,那么返回值;如果键不存在,那么抛出异常(KeyError)

2、添加字段元素 - 按键赋值

按键赋值,添加新元素(不存在的键)

如果按键赋值时,键是存在的,那就不是添加新元素,而是更新旧元素的值

只允许添加新元素,不允许更新旧元素

可以将一个字典拆分成两个列表:键列表和值列表

3、更新字典元素

(1)直接按键赋值(键必须是存在的)

按键赋值时,如果键存在,那么就是更新字典元素,否则就是添加新元素

只允许更新元素,不允许添加新元素

(2)利用update()方法可以进行插入或更新操作 查看update()函数的参数

根据字典{‘003': ‘娃哈哈', ‘006': ‘变形金刚'}对names字典进行更新

4、遍历字典元素

利用字典的keys()函数拿到键列表,然后利用for循环进行遍历

5、删除字典元素

(1)利用del命令删除字典元素 删除键为“003”的字典元素(成功),删除键为“007”的字典元素(异常)

(2)利用字典的pop()函数删除字典元素 查看pop()函数的参数与返回值

删除键为“005”的字典元素(成功),删除键为“008”的字典元素(异常)

6、将字典拆分成键列表与值列表

利用keys()和values()方法返回键列表和值列表(迭代器),而且两个列表顺序相同

7、将字典转换成键值元组构成的列表

8、基于两个等长列表创建字典

基于城市列表和市花列表创建字典

还有一个更简单的方法

9、关于字典元素获取的缺省值

注意,通过get()函数获取字典元素,可以设置缺省值,缺省值默认是None。按键取值,如果键存在,就返回对应的值,否则返回设置的缺省值。

三、课后作业

任务1、将单词列表按首字母分类成列表字典

方法一

方法二

任务2、统计文件里每个单词的个数

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 让Python程序定时执行的8种方法整理

    让Python程序定时执行的8种方法整理

    在日常工作中,我们常常会用到需要周期性执行的任务,一种方式是采用 Linux 系统自带的 crond 结合命令行实现,另外一种方式是直接使用Python。本文整理了一下 Python 定时任务的实现方式,希望对大家有所帮助
    2023-01-01
  • Python教程之Python多态的深层次理解

    Python教程之Python多态的深层次理解

    相信很多在学Python的朋友都有了解过多态,本篇文章来带大家更进一步的深入了解Python多态,有需要的朋可以借鉴参考下,希望可以有所帮助
    2021-09-09
  • Python批量将csv文件编码方式转换为UTF-8的实战记录

    Python批量将csv文件编码方式转换为UTF-8的实战记录

    近日在处理数据的时候发现有的文件为csv文件,Xiam 这篇文章主要给大家介绍了关于利用Python批量将csv文件编码方式转换为UTF-8的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Python数据模型与Python对象模型的相关总结

    Python数据模型与Python对象模型的相关总结

    这篇文章主要介绍了Python数据模型与Python对象模型的相关总结,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2021-01-01
  • 如何使用python操作vmware

    如何使用python操作vmware

    这篇文章主要介绍了如何使用python操作vmware,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python+PyQt6编写一个图片播放器

    Python+PyQt6编写一个图片播放器

    这篇文章主要为大家详细介绍了Python如何结合PyQt6编写一个图片播放器,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考下
    2025-02-02
  • 中秋送礼分配不均这款python刮刮卡完美解决问题

    中秋送礼分配不均这款python刮刮卡完美解决问题

    这篇文章主要介绍了用Python实现一个抽奖刮刮卡来解决给小朋友的礼物不均,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2021-09-09
  • python图像处理之镜像实现方法

    python图像处理之镜像实现方法

    这篇文章主要介绍了python图像处理之镜像实现方法,实例分析了镜像的实现原理与具体操作方法,需要的朋友可以参考下
    2015-05-05
  • Python使用latexify模块实现将代码为数学公式

    Python使用latexify模块实现将代码为数学公式

    latexify 是一个轻量级的 Python 模块,可以将 Python 代码转换为 LaTeX 格式的数学表达式,这篇文章就来和大家探索一下如何使用latexify模块实现将代码为数学公式吧
    2023-12-12
  • python使用插值法画出平滑曲线

    python使用插值法画出平滑曲线

    这篇文章主要为大家详细介绍了python使用插值法画出平滑曲线,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12

最新评论