Python的字典操作

叁歲伎倆 2021-12-17 15:47 428阅读 0赞

Python**的字典操作**

Python提供了多种应用于字典的操作。因为字典为容器,内建len函数可以将字典当作单一参数使用听切返回字典对象中项目(键/值对)的数目。

字典会员

在Python2.2以及后面版本,D中的k运算符检测是否对象k是字典D中的键。如果是返回True如果不是返回False。相似的,

索引一个字典

字典D中的值与相关的键k被索引表示为:D[k]。索引字典没有的键会引起意外。例如:

d = { ‘x’:42, ‘y’:3.14, ‘z’:7 }
d[‘x’] # 42
d[‘z’] # 7
d[‘a’] # raises exception

平整赋值到一个使用还不在字典中的键的索引(例如,D[newkey]=value)是一个可行的操作,该操作加载键和值到字典里新的项目中。例如:

d = { ‘x’:42, ‘y’:3.14, ‘z’:7 }
d[‘a’] = 16 # d is now {‘x’:42,’y’:3.14,’z’:7,’a’:16}

del D[k]中的del语句,删除字典中拥有键k的项目。如果k不是字典D中的键,del D[k]就会引起意外。

字典方法

字典对象提供了多种方法,如下表格所示。非变异方法返回结果,但不改变它们使用的对象。在下面列表中,D和D1代表任何字典对象,k代表D中任何有效的键,x为任何对象。




































































方法

描述

Non-mutating methods

 

D.copy( )

Returns a (shallow) copy of the dictionary

D.has_key(k)

Returns True if k is a key in D, otherwise returns False

D.items( )

Returns a copy of the list of all items (key/value pairs) in D

D.keys( )

Returns a copy of the list of all keys in D

D.values( )

Returns a copy of the list of all values in D

D.iteritems( )

Returns an iterator on all items(key/value pairs) in D

D.iterkeys( )

Returns an iterator on all keys in D

D.itervalues( )

Returns an iterator on all values in D

D.get(k[,x])

Returns an iterator on all values in D

Mutating methods

 

D.clear( )

Removes all items from D

D.update(D1)

For each k in D1, sets D[k] equal to D1[k]

D.setdefault(k[,x])

Returns D[k] if k is a key in D; otherwise sets D[k] equal to x and returns x

D.popitem( )

Removes and returns an arbitrary item (key/value pair)

项目,键还有值方法以任意排列返回它们的列表结果。然而,如果不加干预的呼叫字典中中任何方法,结果的顺序一样。iteritems,iterkeys, 以及itervalues方法,对于Python2.2是新的,它们返回相当于这些列表的迭代器。迭代器比列表消费更少内存,但是在当迭代一个迭代器时不允许修改字典。然而,迭代列表返回项目,键或值不会传递这种限制。直接迭代字典D就如同迭代于D.terkeys( )一样。

popitem方法可以是用于毁灭性迭代到字典。项目和popitem都返回字典项目为键/值对,但使用popitem消耗更少内存,就如同它并不依赖单 独的项目列表。如果当循环时可以摧毁字典,节约内存使得在重复巨大字典中可以使用惯用语。在Python2.2及以后版本,当循环是直接迭代字典(或 iterkeys或iteritems)也会消耗适度的内存,而且不会摧毁被迭代的的字典。

setdefault方法返回与get相同的结果,但如果k不是D的键,setdefault还会有綁定D[k]到x值的副作用。
#——————————————————————————————————————————————-

a ={‘a’:’1’,’b’:’2’,’c’:’3’}

print a.items()
[(‘a’, ‘1’), (‘c’, ‘3’), (‘b’, ‘2’)]
print a.keys()
[‘a’, ‘c’, ‘b’]

print a.values()
[‘1’, ‘3’, ‘2’]

print a.has_key(‘b’)
True

del a[‘a’]
print a
{‘c’: ‘3’, ‘b’: ‘2’}
a[‘e’]=’4’
print a
{‘c’: ‘3’, ‘b’: ‘2’, ‘e’: ‘4’}

print a.get(‘b’)
2

此方法在2.3的版本下不能使用,于是经过测试,hoxide给出新的方法,更简单,而且2.3和2.4都可以用。

;>;>; a = {‘a’: 1, ‘b’:2}
;>;>; c = {‘c’:3}
;>;>; a.update(c)
;>;>; a
{‘a’: 1, ‘c’: 3, ‘b’: 2}

转载于:https://www.cnblogs.com/kungfupanda/archive/2012/09/07/2674903.html

发表评论

表情:
评论列表 (有 0 条评论,428人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python字典操作总结

    字典相对于列表,查找速度快,不会随着元素增多而变慢,时间复杂度O(1),并且字典是另一种可存储任意类型对象。 字典中存储的元素都是键值对(key:value),键值之间用冒号

    相关 python 字典操作

    字典是python 中的一种容器,掌握python 的字典有其必要性,有其是在图论的学习中的建图。 本文首先介绍字典的定义,而后从建立字典,增加字典元素,删除字典元素和更改字

    相关 Python字典常用操作

    1、数据类型   不可变数据类型:元组、bool、int、str   可变数据类型:list、dict、set   字典中,键key只能是不可变数据类型,而值valu

    相关 Python字典操作

    Python的字典操作 Python提供了多种应用于字典的操作。因为字典为容器,内建len函数可以将字典当作单一参数使用听切返回字典对象中项目(键/值对)的数目。