python 字典操作函数
2013-06-02 20:11
363 查看
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为任何对象。
项目,键还有值方法以任意排列返回它们的列表结果。然而,如果不加干预的呼叫字典中中任何方法,结果的顺序一样。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}
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) |
以及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'}
a.items()
[('a', '1'), ('c', '3'), ('b', '2')]
a.keys()
['a', 'c', 'b']
a.values()
['1', '3', '2']
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'}
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}
相关文章推荐
- Po学校Python第四课(循环+文件操作+字典+函数)
- Python学习之字典的基本操作及字典中的函数
- [置顶] Python联系笔记2[列表,元组,集合,字典,函数,文件操作,模块,类]
- python中的字典操作及字典函数
- Python基础操作 列表 字典结构 集合 循环 判断 复制操作 函数
- Python入门教程5. 字典基本操作【定义、运算、常用函数】[原创]_python_脚本之家
- python中string的操作函数
- Python Day3 集合 函数 文件操作
- python----字典操作
- python 字典操作
- python学习(3)——字典,函数及其高级特性
- [python]join函数操作字符串
- Python常见文件操作的函数示例
- hive之Python UDF函数操作map数据 详解 全是干货
- python:二维字典的键值合并等函数
- python深入(函数,文件操作)
- Python OS 文件操作模块常用函数
- python中对文件、文件夹(文件操作函数)的操作 整理API
- python构造字典的dict()函数理解
- Python字典增删操作技巧简述