python 字典操作

一 python中的字典是一种映射类型,其实现是通过哈希表实现的,哈希表是一种数据结构:它按照我们所要求的去工作。哈希表中存储的每一条数据,叫做一个值(value),是根据与它相关的一个被称作为键(key)的数据项进行存储的。键和值合在一起被称为“键-值 对”(key-value pairs)。 哈希表的算法是获取键,对键执行一个叫做哈希函数的操作,并根据计算的结果,选择在数据结构的某个地址中来存储你的值。任何一个值存储的地址皆取决于它的键。正因为这种随意性,哈希表中的值是没有顺序的。你拥有的是一个无序的数据集。哈希表拥有很好的性能,用键查值相当快。

二 python字典的相关操作:

  1. 创建字典

# 第一种方法
dict1 = {'name':'linda','age':13}
# 第二种方法 dict2
= dict(['name','linda'],['age',13])
#第三种方法,将一个可迭代对象的值作为字典的每一个键,赋值为1 dict3
= {}.fromkeys(('x','y','z'),1)

2.访问字典

# 返回一个键的列表
dict1.keys()  
['name','age']
# 返回一个值的列表 dict1.values() [
'linda',13]
# 返回一个包含(键,值)元组的列表 dict1.items() [(
'name','linda'),('age':13)]
# 返回键name对应的值 dict1[
'name'] 'linda'

# 得到键的值,若键不存在,则返回默认值 dict1.get('name',None) 'linda'

# 字典中没有sex,返回默认值man dict1.get('sex','man') 'man' dict.iter() #方法 iteritems(), iterkeys(), itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。

3.修改字典

# 修改键name的值
dict1['name'] = 'lihua' 

# 给字典增加一个新的值,给字典中增加一个电话(注意,新增加的这个值的键在原来字典中不存在,若存在,则是修改原来的值)
dict1['mobile'] = '1333333'

# 如果字典中 key 键存在,删除并返回 dict[key],如果 key 键不存在,且没有给出 default 的值,引发KeyError 异常
dict1.pop('name','unknown')
'linda' 

# 删除键name这条记录
dict1.remove('name') 

#如果字典中不存在 key 键,由 dict[key]=default 为它赋值,若存在则不改变它的值
dict1.setdefault('name',default='unknown')  

# 将字典 dict2 的键-值对添加到字典 dict,(在dict存在的键,则更新值,不存在的,则添加)
dict.update(dict2)  

#删除字典中所有元素
dict.clear()  

#删除字典
del dict1 

 

posted @ 2018-02-02 10:40  曲径通幽处  阅读(292)  评论(0编辑  收藏  举报