<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
|
|
51CTO旗下网站
|
|
移动端

2.2.8 字典(2)

《自学Python:编程基础、科学计算及数据分析》第2章Python 基础,在本章中,我们将学习Python 语言的基本使用,掌握Python 的基本使用方法,为后续的学习打下基础。本节为大家介绍字典。

作者:李金来源:机械工业出版社|2018-05-03 17:19

2.2.8 字典(2)

为了避免这种异常,我们可以使用字典的.get()方法代替索引。.get()方法接受两个参数key和default,其中default可以省略。该方法返回字典中键 key 对应的值,键不存在时,返回 default 指定的值。

改用.get()方法:

  1. In [28]: a.get("three") 

虽然看起来并没有返回任何结果,但事实上,这是因为.get()方法默认的 default参数为None,而IPython解释器在输出时自动忽略了None:

  1. In [29]: print a.get("three")   
  2. None 

我们可以通过传入第二个参数来改变 default参数的默认值:

  1. In [30]: a.get("three", "undefined")   
  2. Out[30]: 'undefined' 

(2).pop()方法

列表的.pop()方法可以删除并返回指定索引位置的元素,与之类似,字典的.pop()方法删除并返回指定键的值。不一样的地方在于,列表会对非法的索引值抛出异常,字典则不会。

.pop()方法也接受两个参数 key和 default,其中 default参数的默认值是 None。如果给定的键不存在,方法返回default参数指定的值:

  1. In [31]: a   
  2. Out[31]: {'one': 'this is number 1', 'two': 'this is number 2'}   
  3. In [32]: a.pop("two")   
  4. Out[32]: 'this is number 2'   
  5. In [33]: a   
  6. Out[33]: {'one': 'this is number 1'}   
  7. In [34]: a.pop('three', 'not defined')   
  8. Out[34]: 'not defined' 

?#37096;?#20197;用del关键字删除字典中的元素:

  1. In [35]: del a['one']   
  2. In [36]: a   
  3. Out[36]: {} 

(3).update()方法

之前已经知道,可以通过索引来插入、修改单个键值对,但是如果想一次性更新多个键值对,这种方法就显得比?#19979;櫸场?#23383;典提供了.update()方法来一次更新多个键值对。例如,将字典 b中的内容一次更新到字典 a中:

  1. In [37]: a = {"one": 2, "three": 3}   
  2. In [38]: b = {"one": 1, "two": 2}   
  3. In [39]: a.update(b)   
  4. In [40]: a   
  5. Out[40]: {'one': 1, 'three': 3, 'two': 2} 

可以看到,.update()方法会更?#30053;?#26469;已有的键值对,同时添加原来没有的键值对。

(4).keys()方法

.keys()方法返回一个由所有键组成的列表:

  1. In [41]: a.keys()   
  2. Out[41]: ['three', 'two', 'one'] 

(5).values()方法

.values()方法返回一个由所有值组成的列表:

  1. In [42]: a.values()  
  2. Out[42]: [3, 2, 1] 

注意,虽然在这个例子中,.keys()方法返回的值跟.values()方法返回的值是一一对应的,但这个关系在一些情况下并不成立。

(6).items()方法

.items()方法返回一个由所有键值对元组组成的列表:

  1. In [43]: a.items()   
  2. Out[43]: [('three', 3), ('two', 2), ('one', 1)]  

6.使用 dict()初始化

除了通常的定义方式,还可以通过 dict()函数来初始化字典,dict()函数的参数可以是另一个字典,?#37096;?#20197;是一个由键值对元组构成的列表:

  1. In [44]: dict([('three', 3), ('two', 2), ('one', 1)])   
  2. Out[44]: {'one': 1, 'three': 3, 'two': 2} 

此外,.update()方法?#37096;?#20197;接受一个由键值对元组构成的列表代替字典。

?#19981;?#30340;朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你?#19981;?/dt>

订阅专栏+更多

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

216人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 武凤涛

468人订阅学习

读 书 +更多

Reversing:逆向工程揭密

本书描述的是在逆向与反逆向之间展开的一场旷日持久的拉锯战。作者Eldad Eilam以一个解说人的身份为我们详尽地评述了双方使用的每一招每一...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

澳洲幸运5官方
<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
广西快3开奖和走势图 35选7走势图500期 河北时时qq群是骗局揭秘 历史今天排列三开奖号是 官方北京赛车pk10开奖 华东15走势图 江西新时时彩历史数据 湖北十一选五计划 36选7中5个几等奖 大乐pk10微信群