今天总结一篇关于字典的知识点》

字典也是python提供的一种常用的数据结构,它用于存放具有映射关系的数据

比如成绩表,语文:34,数学:99,如果单纯的使用两个列表保存这组数据,则无法记录两组数据之间的关联联系

so,为了保存具有映射关系的数据,python提供了字典,字典相当于保存了两组数据,其中一组是关键数据,被称为:key;另一组数据可以通过key访问,被称为value;

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,且字典中的key不允许重复,格式如下:

dict={key1:value1,key2:value2}

需要指出的是:元组可以作为dict的key,但列表不能作为元组的key。这是由于dict要求key必须是不可变类型,单列表是可变类型,因此列表不能作为元组的key

创建字典:

dict={'name':'mike','age':12,'class':'First'}
print(dict['name'],dict['age'])
#字典的基本用法
对于初学者而言,应牢记字典包含多个key-value对,而key是字典的关键数据,因此程序对字典的操作基本上都是key的,基本操作如下:
  • 通过key访问value
  • 通过key添加key-value对
  • 通过key删除key-value对
  • 通过key修改key-value对
  • 通过key判断指定key-value对
  • 通过key访问value使用的也是方括号语法

如下代码示范了通过key访问value:

score={'语文':89}
#通过key访问value
print(score['语文'])

如果为dict添加key-value对,只需要为不存在key赋值

#对不存在的key赋值,就是增加key-value对
score['数学']=89
score[92]=5.7
print(score)#{'语文':89,'数学':98,'92':5.7}

如果删除字典的key-value,则可以del语句

#使用del语句删除key-value
del score['语文']
del score['数学']
print(score)
dict.clear()#清空字典

如果对dict存在的key-value对赋值,新赋的value就会覆盖原有的value,这样就可以改变dict中的key-value对

cars = {'BMW':8.5,'BENS':8.3,'AUDI':7.9}
#对存在的key-value对赋值,改变key-value对
cars['BENS']=4.3
cars['AUDI']=3.8
print(cars)

如果要判断字典是否包含指定的key,则可以使用in或者not in 运算符,需要指出的是,对于dict而言,in 或not in运算符都是基于key判断的

#判断cars是否包含名为'AUDI'的key
print('AUDI'in cars)#True
print('FJFJD'in cars) #False
print('dfjefje'not in cars) #True

#字典的常用方法

字典由dict类代表,因此我们同样使用dir(dict)查看该类包含哪些方法,在交互解释器中输入dir(dict)命令

>>> dir(dict)
['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
>>>

下面介绍dict的一些方法

clear()

cars = {'BMW':8.5,'BENS':8.3,'AUDI':7.9}
#清空cars所有的key-value对
cars.clear()
print(cars)

get()方法

get()方法其实就是根据key获取value,它想当于方括号的增强版,当使用方括号语法访问并不存在的key时,字典会引发keyError错误;但如果使用get()方法访问不存在的key,该方法会简单的返回None,不会导致错误

cars = {'BMW':8.5,'BENS':8.3,'AUDI':7.9}
#获取‘BNW’对应的value
print(cars.get('BMW'))#8.5
print(cars.get('dfdefe'))#None
print(cars['dkfjeife'])#keyError

update()方法

update() 方法可使用一个字典所包含的 key-value 对来更新己有的字典。在执行 update() 方法时,如果被更新的字典中己包含对应的 key-value 对,那么原 value 会被覆盖;如果被更新的字典中不包含对应的 key-value 对,则该 key-value 对被添加进去。例如如下代码:

cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
cars.update({'BMW':4.5, 'PORSCHE': 9.3})
print(cars)

pop()方法

pop()方法用于指定key对应的value,并删除key-value对

cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
print(cars.pop('AUDI')) # 7.9
print(cars) # {'BMW': 8.5, 'BENS': 8.3}

python字典总结的更多相关文章

  1. Python字典和集合

    Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...

  2. python 字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  3. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  4. python字典copy()方法

    python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...

  5. python 字典实现类似c的switch case

    #python 字典实现类似c的switch def print_hi(): print('hi') def print_hello(): print('hello') def print_goodb ...

  6. python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

  7. Python 字典(Dictionary)操作详解

    Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...

  8. Python 字典(Dictionary) get()方法

    描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...

  9. Python 字典(Dictionary) setdefault()方法

    描述 Python 字典(Dictionary) setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法: ...

  10. python 字典内置方法get应用

    python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...

随机推荐

  1. leetcode-easy-array-66 .plus one

    mycode 主要在计算商和余数的时候一定要用还没更新的商和余数哦 class Solution(object): def plusOne(self, digits): ""&qu ...

  2. 如何获得select被选中option的value和text和其他属性值

    比如这个: <select id="select"> <option value="A" url="http://www.baidu ...

  3. 七、SpringBoot项目集成JSP以及项目不同启动方式及访问路径配置

    1.创建JSP目录 在src/main目录下创建目录webapp/WEB-INF/jsp用于存放jsp页面,如下图: 然后再改文件夹下面我们创建JSP文件: 大家在使用IDEA 的new菜单创建JSP ...

  4. 测试-修补程序-Hotfix:百科

    ylbtech-测试-修补程序-Hotfix:百科 1.返回顶部 1. Hotfix是微软公司研发的一个程序,针对某一个具体的系统漏洞或安全问题而发布的专门解决该漏洞或安全问题,通常称为修补程序.   ...

  5. 你知道 Git 是如何做版本控制的吗?(转)

    总结:阅读这篇文章需要20分钟 本文是转载自 滴滴WebApp架构组 的一篇文章,文章讲解了神秘的.git目录下的一些文件,最终阐述了git是如何存储数据,及git分支的相关内容. git如何存储数据 ...

  6. C#正则的使用

    c#使用正则表达式要用到System.Text.RegularExprssions命名空间 官方API Regex类是用于匹配表达式: 通常Regex分为静态类和实例化俩种方式.那这俩种有什么区别呢, ...

  7. CMakeLists.txt中使用循环

    编译一个安卓下的so,此so依赖其他的库,通过循环简化操作 set(UVC_LIBS UVCCamera uvc usb100 jpeg-turbo1500) FOREACH(UVC_LIB ${UV ...

  8. House_Of_Spirit ctf oreo程序分析

    oreo程序下载 提取码:t4xx 程序分析 int __cdecl main() { leave_add = 0; leave_del = 0; leave_buf = (char *)&u ...

  9. SOAP详解(转)

    1. SOAP简介 1.1应用背景 对于应用程序开发来说,使程序之间进行因特网通信是很重要的.目前的应用程序通过使用远程过程调用(RPC)在诸如 DCOM 与 CORBA 等对象之间进行通信,但是 H ...

  10. [转帖]APT34攻击全本分析

    APT34攻击全本分析 https://zhuanlan.kanxue.com/article-8401.htm 高手太多 我等菜鸟目不暇接.. 一.事件综述 2019年4月18日,黑客/黑客组织使用 ...