首页 人工智能+大数据 python 字典操作

python 字典操作

[2018-08-21 15:12 类别:人工智能+大数据 阅读(366) ]

一 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


关于博主Jansens