说说Python字典以及基本操作?

公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!

小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。

废话不多说,开始今天的题目:

问:说说Python字典以及基本操作?

答:字典是 Python 提供的一种常用的数据结构,主要用于存放具有映射关系的数据 。比如保存某班同学的成绩单数据,张三:95分,李四:70分,王五:100分 ... ,因为姓名和成绩是有关联的,所以不能单独用两个列表来分别保存,这时候用字典来存储,再合适不过了 。

字典是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种结构类型通常也被称为映射,或者叫关联数组,也有叫哈希表的。每个key-value之间用“:”隔开,每组用“,”分割,整个字典用“{}”括起来 ,格式如下所示:

dictionary = {key1 : value1, key2 : value2 }

定义字典时,键前值后,键必须唯一性,值可以不唯一,如果键有相同,值则取最后一个;
值可以是任何的数据类型,但是键必须是不可变的数据类型(数字、字符串、元组)。想要访问字典中的值,只需要将键放入方括号里,如果用字典里没有的键访问数据,会输出错误 。
如何访问字典中的值?

想要访问字典中的值,只需要将键放入方括号里,如果用字典里没有的键访问数据,程序会输出错误,如下图所示 。

scores = {'张三': 89 ,'李四': 100 ,'王五': 79}

print(scores['张三']) # 通过key访问value ,输出:89

print(scores['老六']) # 输出 KeyError: '老六'

字典中值的如何增删改?

增加:如果要对字典增加,只需为不存在的 key 赋值即可 ,如下:

scores = {'张三': 89 ,'李四': 100 ,'王五': 79}

scores['老四'] = 88

print("scores=",scores)

输出:
scores= {'张三': 89, '李四': 100, '王五': 79, '老四': 88}

删除:如果要对字典删除,只需用del语句删除 key 即可,如下

scores = {'张三': 89 ,'李四': 100 ,'王五': 79}

scores['老四'] = 88  #增加

print("scores=",scores) #scores= {'张三': 89, '李四': 100, '王五': 79, '老四': 88}

del scores['老四'] # 使用del语句删除

print("scores=",scores) # scores= {'张三': 89, '李四': 100, '王五': 79}

修改:如果要对字典修改,只需相应的键重新赋值即可,如下

scores = {'张三': 89 ,'李四': 100 ,'王五': 79}

scores['老四'] = 88  #增加

print("scores=",scores) #scores= {'张三': 89, '李四': 100, '王五': 79, '老四': 88}

del scores['老四'] # 使用del语句删除

print("scores=",scores) # scores= {'张三': 89, '李四': 100, '王五': 79}

scores['张三'] = 60  #修改
print("scores=",scores) #scores= {'张三': 60, '李四': 100, '王五': 79}

字典中还有一些常用的方法:

clear()  清空字典里的数据

copy()  拷贝(浅拷贝)一个字典里的数据

fromkeys() 使用给定的键建立字典,对应的值默认为“None”

get(key, default=None)  访问字典中对应的键里的值,如不存在该键返回default的值

items()  获取字典键值对数据,以列表形式返回

keys()  获取字典键的数据,以列表形式返回

values() 获取字典值的数据,以列表形式返回

setdefault(key, default=None)  和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

update(dict2) 把字典dict2的数据(键值对)更新到另一个字典中

如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!

1、谈谈对 Python 和其他语言的区别?

2、谈谈对 Python3 和 Python2 的区别?

3、Python 的特点和优点是什么?

4、说说Python解释器种类以及特点?

5、说说4种常用编码的区别?

6、说说Python面向对象三大特性?

7、说说Python中有几种数据类型?

8、说说Python中xrange和range的区别?

9、Python变量、函数、类的命名规则?

10、说说Python可变与不可变数据类型?

11、说说Python模块主要分哪三类?

12、列举Python中的标准异常类?

13、Python中深拷贝与浅拷贝的区别?

14、Python中迭代器和生成器的区别?

15、Python可迭代对象怎么获取迭代器?

16、你了解什么是 Python 之禅么?

关注小猿公众号,每天学习一道题

(0)

相关推荐

  • 第11天:Python 字典

    Python 中的字典提供了一种灵活的访问和组织数据的方式 字典是由很多值组成的集合 字典的索引可以是不同的数据类型,同样也不止是整数,也有字符串 字典的索引被称为"键",键及键所 ...

  • python字典常见用法总结

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 注意: 每个键与 ...

  • Python中字典和json有什么差异?

    正在学习或者已经学习Python的人应该都知道字典和json,那么你对它们了解多少呢?你知道字典和json区别是什么吗? 什么是字典?是一种数据结构,json是一种数据格式,格式就会有一定形式上限制, ...

  • python空字典怎么写

    字典是另外一种可变容器模子,且可存储恣意类型工具. 字典的每一个键值(key=>value)对用冒号(:)宰割,每一个对之间用逗号(,)宰割,整个字典包罗正在花括号({})中 . 格局以下所示: ...

  • 用 Jupyter 学习 Python 字典 | Linux 中国

    原创 邀你一起成为开源贡献者 Linux中国 1周前   导读:字典数据结构可以帮助你快速访问信息. 本文字数:2152,阅读时长大约:3分钟 https://linux.cn/article-132 ...

  • python字典

    近些年最长的五一小长假结束了,结束了,结束了...... 来一张照片抚慰一下想出去浪的心...... 字典在python中也是一种常用的数据类型. 它是一种可变容器模型,可用来存储任意类型的对象,如: ...

  • 使用纯 Python 代码来模拟实现 Python 字典

    在前面几篇文章中,我们一起了解了 Python 字典的概念.用法和实现原理. 今天,我们试着用 Python 代码来实现一个具有全功能的字典类,从而加强理解. [基本思路] 首先,我们要确认字典应具备 ...

  • 再次解释一下 Python 字典使用的哈希表

    我们在上一篇文章中分析了 CPython 中是如何实现 dict 的.由于涉及内容较多,我可能并没有描述清楚 dict 所用的哈希表的具体结构. 如果你也对此有疑问,不妨来看一下本文对哈希表结构的进一 ...

  • RealPython 基础教程:Python 字典用法详解

    在连续编写了5篇和 list 相关的文章之后,我们继续<RealPython 基础教程>这个系列. 今天,我们要学习的数据结构是字典(dict). dict 是一个包含若干对象的集合.它和 ...

  • 技巧 | Python 字典用法详解(超全)

    原创 欧King Python当打之年 1周前 本期导读 字典(Dictionary)是Python提供的一种常用的数据结构,它用于存放具有映射关系的数据.本期给大家带来Python字典11个方法的全 ...

  • Python 字典(Dictionary) | 菜鸟教程

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包 ...