python 字典操作详解(创建,访问,删除)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字典是最与php的数组相似的序列结构。python的列表只能是以索引数字开头并且顺序递增的序列。字典则可以是以字母为key的序列。

元组一般用圆括号来表示,如(1,2,3)

列表一般用方括号来表示,如[1,2,3]

而字典(dict)则用大括号来表示,如{…a‟:1,‟b':2,‟c':3}

与php不同,php的key,value是用key=>value来表示,python而是用冒号“:”来分隔。

字典可以使用大括号书写键和值或使用dict函数来创建。

dict函数可以指定两个元组或列表来对应创建字典。如:

items = [('name','gumby'),('age','42')]

d = dict(items)

与列表的区别:

k in d(d为字典),查找的是键,而非value,表达式v in l(l为列表)则用来查找值,而不是索引。

一些字典方法:

clear 清除字典。“原地操作”,不会返回值,类似于列表的sort方法

copy方法返回一个相同键值对儿的新字典。浅复制。因为值本身就是相同的,而不是副本。在副本中替换值的时候,原始字典不受影响。但是如果修改了某个值,原始字典也会改变。避免这个问题的一种方法就是使用深度复制(deep copy)。

from copy import deepcopy

deepcopy(d)

d.fromkes方法使用给定的值创建新字典。每个键默认对应的是None

get方法获取一个不存在的键时,不会报错,会返回None

has_key方法相法于表达式k in d

items方法将所有的字母项以列表的方式返回。这些列表中的每一项都来自于(键,值)。但是项在返回时没有特殊的顺序。

iteritmes的方法大致相同,但是会返回一个迭代器对象而不是列表。在很多情况下iteritems 效率更高。迭代器,相当于decode json之后的对象,而非数组、

keys方法将字典中的键以列表的形式返回。而iterkeys则返回针对键的迭代器。

pop弹出给定键的值。popitem会弹出最后一个元素(实际上是随机项),但如果想一个接一个地移除并处理字典,popitem效率就会高很多,因为不必先获取字典的键值列表。values和itervalues方法以列表或迭代器的形式返回字典中的值,返回值的列表可以包含重复项。

创建

方法二:从Python 2.2 版本起,可以使用一个工厂方法,传入一个元素是列表的元组作为参

{'y': 2, 'x': 1}

方法三:

从Python 2.3 版本起, 可以用一个很方便的内建方法fromkeys() 来创建一个"默认"字典, 字典中元素具有相同的值(如果没有给出,默认为None,这个有点像我框架的oneObject方

访问字典中的值

更新字典

采取覆盖更新

上例中dict2['name']='earth'; 更新dict2['name']='abc';

>>> dict2.items()

[('port', 80), ('name', 'earth')]

>>>

>>> for eachKey in dict2.keys():

... print 'dict2 key', eachKey, 'has value', dict2[eachKey] ...

dict2 key port has value 80

dict2 key name has value earth

相关文档
最新文档