Dict类型:
Dict类型的定义:
Dict是一种无序的,可变的数据集合类型。一个dict对象包括数组不固定的键值对,键值对的键具有唯一性,不能重复;值可以存储任意类型的对象。
Dict类型使用一对花括号“{}”创建,键值对之间使用逗号“,”做分隔,键值之间使用冒号“:”做分隔。
d = {"name":"Tom","age":12,"sex":"男"}
print d
Dict类型的特点:
(1)dict对象查找速度快,无论是多少个键值对查找的速度是一样的。不过相应的代价则是,占用对的内存较大。
(2)dict的键值对是无序的,因此不能使用索引来获取dict的元素。
(3)作为 key 的元素必须不可变,dict的key必须是Python的基本类型。如list这一类是可变的类型,是不能作为 key的。
Dict对象的访问:
依据键值对的的键来获取键值对的值,只要key存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。判断一个dict对象是否含有某个key可以使用以下三种方式判断:(1)使用dict.has_key(key)来判断是否含有该键,若存在则返回True,若不存在则返回False;(2)使用关键字in来判断是否含有该键,若存在则返回True,若不存在则返回False;(3)使用get()方法来判断是否含有该键,存在该键的时候返回该键对应的值,若不存在则返回None。可以使用len()函数可以获取dict对象的长度。
print d["name"] #输出Tom
print d["address"] #报KeyError: 'address'错误
#使用has_key()判断dict对象是否含有一个键
print d.has_key('name') #输出True
#使用in判断dict是否含有一个键
print 'Adam' in d #输出False
#使用get()方法判断dict对象是否含有一个键
print d.get('Tom') #输出None
Dict对象的新增和修改:
直接给一个d[key]赋值,若集合中包含该key则修改该键值对的值,若不存在则想该集合中添加该键值对。
d["name"] = "Jon" #将值修改为Jon
d["address"] = "北京" #添加此键值对
Dict对象的删除:
删除一个dict类型的键值对采用del关键字,若清空整个dict集合则使用dict.clear()方法。
del d["sex"] #删除性别键值对
d.clear() #清空整个键值对
Dict对象的遍历:
dict对象的遍历也是通过for来实现的,在遍历的过程中遍历的是dict对象的key集合。
for key in d
print key,':',d[key]