第 3 章 内置数据类型

让我们用点儿时间来回顾一下您的第一个 Python 程序。但首先,先说些其他的内容,因为您需要了解一下 dictionary (字典)、tuple (元组) 和 list (列表)(哦,我的老天!)。如果您是一个 Perl hacker,当然可以撇开 dictionary 和 list,但是仍然需要注意 tuple。

3.1. Dictionary 介绍

Dictionary 是 Python 的内置数据类型之一,它定义了键和值之间一对一的关系。

Python 中的 dictionary 就像 Perl 中的 hash (哈希数组)。在 Perl 中,存储哈希值的变量总是以 % 字符开始;在 Python 中,变量可以任意取名,并且 Python 在内部会记录下其数据类型。
Python 中的 dictionary 像 Java 中的 Hashtable 类的实例。
Python 中的 dictionary 像 Visual Basic 中的 Scripting.Dictionary 对象的实例。

3.1.1. Dictionary 的定义

例 3.1. 定义 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。

3.1.2. Dictionary 的修改

例 3.2. 修改 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 对。这种语法同修改存在的值是一样的。(是的,它可能某天会给您带来麻烦。假设你一次次地修改一个 dictionary,但其间您使用的 key 并未按照您的想法进行改变。您可能以为加入了新值,但实际上只是一次又一次地修改了同一个值。)

请注意新的元素 (key 为 'uid',value 为 'sa') 出现在中间。实际上,在第一个例子中的元素看上去是的有序不过是一种巧合。现在它们看上去的无序同样是一种巧合。

Dictionary 没有元素顺序的概念。说元素 “顺序乱了” 是不正确的,它们只是序偶的简单排列。这是一个重要的特性,它会在您想要以一种特定的,可重现的顺序 (像以 key 的字母表顺序) 存取 dictionary 元素的时候骚扰您。有一些实现这些要求的方法,它们只是没有加到 dictionary 中去。

当使用 dictionary 时,您需要知道:dictionary 的 key 是大小写敏感的。

例 3.3. 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 眼里是完全不同的。

例 3.4. 在 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 的数据类型。

3.1.3. 从 dictionary 中删除元素

例 3.5. 从 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 从一个 dictionary 中删除独立的元素。
clear 从一个 dictionary 中清除所有元素。注意空的大括号集合表示一个没有元素的 dictionary。
自己能开时时彩平台吗 如何制作时时彩软件下载 时时彩漏洞刷钱 重庆时时彩平台出售 时时彩四星稳赚方法
重庆时时彩遗漏统计 天津时时彩安卓软件 西西网络图软件注册机 皇冠国际娱乐平台登陆 濮阳时时彩技巧
江西时时彩前三 博猫平台时时彩 时时彩后三组六计划群 谁是做时时彩平台网站 时时彩杀垃圾复式
fc时时彩平台 易算软件准不 江西时时彩奖金 七星彩杀号定胆必赢网 大乐透杀号最准确十大
急速赛车彩票开奖 胡桃夹子的故事 重庆时时彩的分析软件 大乐透开奖规则 北京赛车pk10官网赔率
幸运赛车走势图 山西快乐十分走势图表 天津时时彩官网平台 幸运飞艇必赢计划软件 辽宁11选5走势图
甘肃快三一定牛 棋牌游戏网 北京快乐八开奖时间 北京赛车pk10稳赢公式 北京快三和值走势图
福建36选717060期开奖结果 优博平台 上海时时乐中彩网 时时彩精准杀个位工具 网络赌博