Python编程基础之字典

一、字典概念

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

Python编程基础之字典_第1张图片

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

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

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

Python编程基础之字典_第2张图片

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

Python编程基础之字典_第3张图片

格式化JSON

Python编程基础之字典_第4张图片

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

Python编程基础之字典_第5张图片

二、字典操作

(一)创建字典

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

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

Python编程基础之字典_第6张图片

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

Python编程基础之字典_第7张图片

(二)字典操作

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

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

Python编程基础之字典_第8张图片

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

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

Python编程基础之字典_第9张图片

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

Python编程基础之字典_第10张图片

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

Python编程基础之字典_第11张图片

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

Python编程基础之字典_第12张图片

3、更新字典元素

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

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

Python编程基础之字典_第13张图片

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

Python编程基础之字典_第14张图片

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

Python编程基础之字典_第15张图片

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

Python编程基础之字典_第16张图片

4、遍历字典元素

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

Python编程基础之字典_第17张图片

5、删除字典元素

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

Python编程基础之字典_第18张图片

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

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

Python编程基础之字典_第19张图片

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

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

Python编程基础之字典_第20张图片

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

Python编程基础之字典_第21张图片

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

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

Python编程基础之字典_第22张图片

还有一个更简单的方法

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

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

Python编程基础之字典_第23张图片

三、课后作业

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

方法一

Python编程基础之字典_第24张图片

方法二

Python编程基础之字典_第25张图片

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

Python编程基础之字典_第26张图片

总结

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

你可能感兴趣的:(Python编程基础之字典)