您当前位置: 首页 > 深入 Python > 原生数据类型 | << >> | ||||
深入 Python从 Python 新手到专家 |
我们马上就会回到您的第一个 Python 程序。但首先,我们需要稍微绕一下,因为您需要了解字典、元组和列表(我的天哪!)。如果您是 Perl 黑客,您可能可以跳过关于字典和列表的部分,但您仍然应该注意元组。
Python 的内置数据类型之一是字典,它定义了键和值之间的一对一关系。
![]() |
|
Python 中的字典就像 Perl 中的哈希。在 Perl 中,存储哈希的变量始终以 % 字符开头。在 Python 中,变量可以任意命名,Python 会在内部跟踪数据类型。 |
![]() |
|
Python 中的字典就像 Java 中 Hashtable 类的一个实例。 |
![]() |
|
Python 中的字典就像 Visual Basic 中 Scripting.Dictionary 对象的一个实例。 |
>>> d {'server': 'mpilgrim', 'database': 'master'} >>> d["database"] = "pubs">>> d {'server': 'mpilgrim', 'database': 'pubs'} >>> d["uid"] = "sa"
>>> d {'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}
![]() |
字典中不能有重复的键。将值赋给现有键会擦除旧值。 |
![]() |
您可以随时添加新的键值对。此语法与修改现有值相同。(是的,这会在您认为自己在添加新值但实际上只是反复修改相同值时让您感到烦恼,因为您的键没有按照您的想法进行更改。) |
请注意,新元素(键 'uid',值 'sa')似乎位于中间。事实上,在第一个例子中,元素按顺序出现只是一个巧合;现在它们看起来无序也只是一个巧合。
![]() |
|
字典没有元素之间顺序的概念。说元素“无序”是不正确的;它们只是无序的。这是一个重要的区别,当您想要以特定的、可重复的顺序(例如按键的字母顺序)访问字典的元素时,这会让您感到烦恼。有一些方法可以做到这一点,但它们不是内置在字典中的。 |
使用字典时,需要注意字典键区分大小写。
>>> d = {} >>> d["key"] = "value" >>> d["key"] = "other value">>> d {'key': 'other value'} >>> d["Key"] = "third value"
>>> d {'Key': 'third value', 'key': 'other value'}
>>> 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}
>>> 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 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
列表介绍 >> |