python字典dictionary类型用法及其操作函数 – Python入门开发教程

上一章Python教程请查看:python元组tuple类型用法及其操作函数
python字典通过一个冒号(:)将每个键分开其值,项目之间用逗号分隔,整个值是在大括号内,一个空的字典没有任何条目时使用两个大括号像这样:{}。
键在字典中是唯一的,而值可能不是,字典的值可以是任何类型,但key必须是一个不可变的数据类型如字符串、数字、或元组。
一、访问字典中的元素访问字典元素,你可以使用熟悉的方括号和获得它的价值的关键。

#!/usr/bin/pythondict = {'Name': 'Van Gogh', 'Age': 7, 'Class': 'First'} print "dict['Name']: ", dict['Name'] print "dict['Age']: ", dict['Age']

如果我们试图访问一个不属于字典的键的数据项,我们会得到如下错误:
#!/usr/bin/pythondict = {'Name': 'Van Gogh', 'Age': 7, 'Class': 'First'} print "dict['Alice']: ", dict['Alice']

2、更新字典你可以通过添加新条目或键值对、修改现有条目或删除现有条目来更新字典,如下面的简单示例所示:
#!/usr/bin/pythondict = {'Name': 'Van Gogh', 'Age': 7, 'Class': 'First'} dict['Age'] = 8; # 更新 dict['School'] = "DPS School"; # 添加print "dict['Age']: ", dict['Age'] print "dict['School']: ", dict['School']

3、删除字典元素你可以删除单个字典元素,也可以清除字典的整个内容,你还可以在一次操作中删除整个字典。
要显式地删除整个字典,只需使用del语句,下面是一个简单的例子:
#!/usr/bin/pythondict = {'Name': 'Van Gogh', 'Age': 7, 'Class': 'First'} del dict['Name']; # 删除 dict.clear(); # 清空 del dict ; # 删除整个字典print "dict['Age']: ", dict['Age'] print "dict['School']: ", dict['School']

4、字典键的属性字典值没有限制,它们可以是任意的Python对象,可以是标准对象,也可以是用户定义的对象,但是对于键则不是这样。
关于字典键有两点需要记住:
(a)每个键不允许超过一个条目,这意味着不允许重复键,当分配过程中遇到重复键时,最后一个会被分配使用。
#!/usr/bin/pythondict = {'Name': 'Van Gogh', 'Age': 7, 'Name': 'Manni'} print "dict['Name']: ", dict['Name']

(b)键必须是不可变的,这意味着可以使用字符串、数字或元组作为字典键,但不允许使用[‘ key’ ]之类的键。下面是一个简单的例子:
#!/usr/bin/pythondict = {['Name']: 'Van Gogh', 'Age': 7} print "dict['Name']: ", dict['Name']

5、内置的字典功能和方法Python包含以下字典函数
编号 函数和说明
1 cmp(dict1, dict2) 比较两个dict的元素。
2 len(dict) 给出字典的总长度。这将等于字典中的条目数。
3 str(dict) 生成字典的可打印字符串表示形式
4 type(variable) 返回传递的变量的类型。如果传递的变量是dictionary,那么它将返回dictionary类型。
【python字典dictionary类型用法及其操作函数 – Python入门开发教程】Python包括以下字典方法:
编号 方法和说明
1 dict.clear() 删除字典字典字典的所有元素
2 dict.copy() 返回字典dict的浅拷贝
3 dict.fromkeys() 用来自seq的键和设置为value的值创建一个新字典。
4 dict.get(key, default=None) 对于key key,如果key不在dictionary中,则返回值或默认值
5 dict.has_key(key) 如果键值在字典字典中为真,则返回真,否则返回假
6 dict.items() 返回一个dict(键,值)元组对列表
7 dict.keys() 返回字典的键列表
8 dict.setdefault(key, default=None) 类似于get(),但将设置dict[key]=default(如果key不在dict中)
9 dict.update(dict2) 将字典dict2的键值对添加到dict
10 dict.values() 返回字典的值列表

    推荐阅读