DAY 5 字典

字典:

  字典是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': '\xe8\x8f\x9c\xe9\xb8\x9f\xe6\x95\x99\xe7\xa8\x8b'}

  

 

改:

  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()

  

 

 

 

 

 

  

posted on 2018-08-08 15:50  不吃鱼的洋  阅读(114)  评论(0编辑  收藏  举报