字典:
字典是python的基础类型之一,字典可以储存大量的数据,尤其是关系性,同时也是python中唯一的映射类的数据类型。
字典的每个键值key = >value 对用冒号分割,每个键值对之间用逗号分割,整个字典包括{}中,格式如下:
d = {key1 : value1, key2 : value2 }
键一般是唯一的,如果重复最后的一个键值对会替换前面的值,值不需要唯一。
>>>dict = {'a': 1, 'b': 2, 'b': '3'}; >>> dict['b'] '3' >>> dict {'a': 1, 'b': '3'}
数据类型分类:
可变(不可哈希):list、dict
不可变:str、int、bool 元组
dic = {"name":"jin","age":18,"sex":"male"}
键值对的形式存在的,键:值
字典的键必须是不可变的数据类型。(一般是由字符串数字组成)
字典的值是任意数字类型
查询速度快
Python3.5之前包括3.5字典是无序的
Python3.6开始,是有序的
增:
1、按照键来增加值,有次key就更改值没有就增加一个
dic['sex']=男
2、dic.setdefault('key','value) 有此key不做任何操作,但是可以返回对应的值,没有就增加一个key。
dict.setdefault(key, default=None
#key -- 查找的键值。
#default -- 键不存在时,设置的默认键值。
删:
dic.pop():Python 字典 pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
dic.pop(key[,default])
例子:
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'} pop_obj=site.pop('name') print pop_obj # 输出 :菜鸟教程
dic.clear():Python 字典(Dictionary) clear() 函数用于删除字典内所有元素。
dict.clear()
例子:
dict = {'Name': 'Zara', 'Age': 7}; print "Start Len : %d" % len(dict) dict.clear() print "End Len : %d" % len(dict) Start Len : 2 End Len : 0
del list()按照键删除键值对,删除整个字典。
例子:
#!/usr/bin/python # -*- coding: UTF-8 -*- dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; del dict['Name']; # 删除键是'Name'的条目 dict.clear(); # 清空词典所有条目 del dict ; # 删除词典 print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];
popitem()
Python 字典 popitem() 方法随机返回并删除字典中的一对键和值。
如果字典已经为空,却调用了此方法,就报出KeyError异常。
dic.popitem()
返回一个键值对(key,value)形式。
例子:
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'} pop_obj=site.popitem() print(pop_obj) print(site) ('url', 'www.runoob.com') {'alexa': 10000, 'name': 'xe8x8fx9cxe9xb8x9fxe6x95x99xe7xa8x8b'}
改:
Python 字典(Dictionary) update() 函数把字典dict2的键/值对更新到dict里。
dict.update(dict2)
这个方法没有返回值。
例子:
dict = {'Name': 'Zara', 'Age': 7} dict2 = {'Sex': 'female' } dict.update(dict2) print "Value : %s" % dict Value : {'Age': 7, 'Name': 'Zara', 'Sex': 'female'}
查:
get()方法:
Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值。
dict.get(key, default=None
返回指定键的值,如果值不在字典中返回默认值None。
例子:
dict = {'Name': 'Zara', 'Age': 27} print "Value : %s" % dict.get('Age') print "Value : %s" % dict.get('Sex', "Never") Value : 27 Value : Never
kyes()方法:
Python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键。
dict.keys()
返回一个字典所有的键。
例子:
dict = {'Name': 'Zara', 'Age': 7} print "Value : %s" % dict.keys() Value : ['Age', 'Name']
items()方法:
Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。
dict.items()
返回可遍历的(键, 值) 元组数组。
例子:
dict = {'Google': 'www.google.com', 'Runoob': 'www.runoob.com', 'taobao': 'www.taobao.com'} print "字典值 : %s" % dict.items() # 遍历字典列表 for key,values in dict.items(): print key,values 字典值 : [('Google', 'www.google.com'), ('taobao', 'www.taobao.com'), ('Runoob', 'www.runoob.com')] Google www.google.com taobao www.taobao.com Runoob www.runoob.com
values()方法:
Python 字典(Dictionary) values() 函数以列表返回字典中的所有值。
dict.values()
返回字典中的所有值。
例子:
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7} print "Value : %s" % dict.values()