Python dict dictionaries Python 数据结构——字典

字典是比列表更先进的一种内置数据结构。

“字典”就像实际中的字典一样,每一个单词对应好几个意思。在Python里面就是每一个键对应一个关联值。

在Python中,我们可以很方便的创建字典。

a_dict = {'server': 'db.diveintopython3.org', 'database': 'mysql'}

server 为键,db.diveintopython3.org 为值

database 为键,mysql 为值

字典由键(key)索引,而不能用关联值索引。

所以我们可以使用a_dict[server] 而不能使用 a_dict[mysql] ,我们可以由键获取值,而不能根据值获取键。

字典 可以在任何时间被修改,而且没有预定义大小。字典中不能有重复的键,所以当对原来有的键进行赋值时,新的值会取代旧的值,而不是创建一个新键值对。

当然,如果对一个不存在的键进行赋值,那么Python就会自动建立一个新的键值对。

如何删除一个键值对。

使用del 就可以了。

image

怎么给一个键对应好几个值呢。

字典能对应好多意思,当然Key也能对应好多value

虽然Python 本身不能对字典的键进行多赋值,但是我们可以使用列表的方法。

a_dict = {'server': ['db.diveintopython3.org','blog.ppzchina.com'], 'database': 'mysql'}

image

这样,我们就可以使用列表的性质了,任何性质。

image

有没有C语言中的二维数组的感觉。但却强大多了。

当然针对字典,还有一些常用的方法如下表。使用方法 a_dict.clear( )

方法
说明
clear( )
从字典删除所有项
copy( )
创建并返回字典的浅拷贝(新字典元素为原始字典的引用)
get(key [ ,returnvalue] )
返回key的值,若无key而指定了returnvalue,则返回returnvalue 值,若无此值则返回None
has_key( key )
如果key存在于字典中,就返回1(真);否则返回0(假)
items( )
返回一个由元组构成的列表,每个元组包含一对键-值对
keys( )
返回一个由字典所有键构成的列表
popitem( )
删除任意键-值对,并作为两个元素的元组返回。如字典为空,则返回KeyError异常
setdefault( key [,dummvalue])
具有与get方法类似的行为。如key不在字典中,同时指定了dummvalue,就将键(key)和指定的值(dummvalue)插入字典,如果没有指定dummvalue,则值为None
update( newDictionary )
将来自newDictionary的所有键-值添加到当前字典,并覆盖同名键的值
values( )
返回字典所有值组成的一个列表
iterkeys( )
返回字典键的一个迭代器
iteritems( )
返回字典键-值对的一个迭代器
itervalues( )
返回字典值的一个迭代器
posted @ 2013-02-12 12:43 传说中的福利君 阅读(...) 评论(...) 编辑 收藏