Python的Dictionary

来自站长百科
跳转至: 导航、​ 搜索

Python | 新手入门 | 安装 | 语法基础

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
  1. 首先我们创建了新 dictionary,它有两个元素,将其赋给变量 d 。每一个元素都是一个 key-value 对;整个元素集合用大括号括起来。
  2. 'server' 是一个 key,它所关联的值是通过 d["server"] 来引用的,为 'mpilgrim'。
  3. 'database' 是一个 key,它所关联的值是通过 d["database"] 来引用的,为 'master'。
  4. 您可以通过 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'}
  1. 在一个dictionary 中不能有重复的key。给一个存在的key赋值会覆盖原有的值。
  2. 在任何时候都可以加入新的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'}

  1. 为一个已经存在的 dictionary key 赋值,将简单覆盖原有的值。
  2. 这不会为一个已经存在的 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}
  1. Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型,包括字符串、整数、对象,甚至其它的 dictionary。在单个 dictionary 里,dictionary 的值并不需要全都是同一数据类型,可以根据需要混用和匹配。
  2. 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
{}
  1. del允许您使用key 从一个 ictionary 中删除独立的元素。
  2. clear从一个dictionary中清除所有元素。注意空的大括号集合表示一个没有元素的dictionary。

Python使用手册导航

新手入门

Python学习书籍推荐 | 新手如何学习Python | 为什么不使用Perl

安装

语法基础

Python语法基础 | Python的Dictionary | Python的List | 代码缩进与if语句 | Python的函数 | Python过程式编程与函数式编程