Python的Dictionary
来自站长百科
Dictionary是Python的内置数据类型之一,它定义了键和值之间一对一的关系.
- Dictionary 的定义
>>> d = {"server":"mpilgrim", "database":"master"} >>> d {'server': 'mpilgrim', 'database': 'master'} >>> d["server"] 'mpilgrim' >>> d["database"] 'master' >>> d["mpilgrim"] Traceback (innermost last): File "<interactive input>", line 1, in ? KeyError: mpilgrim
- 首先我们创建了新 dictionary,它有两个元素,将其赋给变量 d 。每一个元素都是一个 key-value 对;整个元素集合用大括号括起来。
- 'server' 是一个 key,它所关联的值是通过 d["server"] 来引用的,为 'mpilgrim'。
- 'database' 是一个 key,它所关联的值是通过 d["database"] 来引用的,为 'master'。
- 您可以通过 key 来引用其值,但是不能通过值获取 key。所以 d["server"] 的值为 'mpilgrim',而使用 d["mpilgrim"] 会引发一个异常,因为 'mpilgrim' 不是一个 key。
- 修改 Dictionary
>>> d {'server': 'mpilgrim', 'database': 'master'} >>> d["database"] = "pubs" >>> d {'server': 'mpilgrim', 'database': 'pubs'} >>> d["uid"] = "sa" >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}
- 在一个dictionary 中不能有重复的key。给一个存在的key赋值会覆盖原有的值。
- 在任何时候都可以加入新的key-value 对。这种语法同修改存在的值是一样的.
请注意新的元素 (key 为 'uid',value 为 'sa') 出现在中间。实际上,在第一个例子中的元素看上去是的有序不过是一种巧合。现在它们看上去的无序同样是一种巧合。
- Dictionary 的 key 是大小写敏感的
>>> d = {} >>> d["key"] = "value" >>> d["key"] = "other value" >>> d {'key': 'other value'} >>> d["Key"] = "third value" >>> d {'Key': 'third value', 'key': 'other value'}
- 为一个已经存在的 dictionary key 赋值,将简单覆盖原有的值。
- 这不会为一个已经存在的 dictionary key 赋值,因为在 Python 中是区分大小写的,也就是说 'key' 与 'Key' 是不同的。所以这种情况将在 dictionary 中创建一个新的 key-value 对。虽然看上去很相近,但是在 Python 眼里是完全不同的
- 在 dictionary 中混用数据类型
>>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'} >>> d["retrycount"] = 3 >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3} >>> d[42] = "douglas" >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}
- Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型,包括字符串、整数、对象,甚至其它的 dictionary。在单个 dictionary 里,dictionary 的值并不需要全都是同一数据类型,可以根据需要混用和匹配。
- Dictionary的key要严格多了,但是它们可以是字符串、整数或几种其它的类型。也可以在一个 dictionary中混用和匹配key的数据类型。
- 从dictionary中删除元素
>>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3} >>> del d[42] >>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3} >>> d.clear() >>> d {}
- del允许您使用key 从一个 ictionary 中删除独立的元素。
- clear从一个dictionary中清除所有元素。注意空的大括号集合表示一个没有元素的dictionary。
Python使用手册导航 | |||||
---|---|---|---|---|---|
|