当前位置: 58彩票app下载 > 58彩票网络 > 正文

Python基础手册13,字典操作

时间:2019-12-17 14:15来源:58彩票网络
python 字典操作,python字典 豆蔻年华python中的字典是大器晚成种炫目类型,其促成是透过哈希表实现的,哈希表是生机勃勃种数据布局:它依据我们所需要的去干活。哈希表中积累的每

python 字典操作,python字典

豆蔻年华python中的字典是大器晚成种炫目类型,其促成是透过哈希表实现的,哈希表是生机勃勃种数据布局:它依据我们所需要的去干活。哈希表中积累的每一条数据,叫做叁个值(value卡塔尔国,是依照与它相关的四个被称作为键(key卡塔尔(英语:State of Qatar)的数量项举行仓库储存的。键和值合在一齐被称呼“键-值 对”(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' 

# 如果字典中 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.update(dict2)  

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

#删除字典
del dict1 

 

字典操作,python字典 生龙活虎python中的字典是朝气蓬勃种炫丽类型,其完毕是经过哈希表实现的,哈希表是一种数据布局:它依照我们所必要的去...

映射

照耀表示由任性索引集索引的有限的,冬天的,键不另行的指标集合。近来有后生可畏种炫人眼目类型:字典。

一、字典

三个字典对象是可变的,它是八个器皿类型,能够经过 {key1:value1, key2:value2,...} 方法创制。字典能积存放肆个数的 Python 对象,也席卷此外的容器类型。字典的目录操作使用的是和类别相像的语法,不过在方括号中的成分是键,并不是相对地方,作为炫丽,字典仅协理通过键获取成分。各个键只好对应二个值,生机勃勃键对应三个值是分歧意的。对三个新的字典的键赋值会创立该键。

大概具有品类的 Python 不可变对象都足以用作键(字典的键要求密钥的哈希值保持不改变),可是貌似依然以数字照旧字符串最为常用。值能够是不管三七五十黄金年代等级次序的 Python 对象。

字典类型和种类类型(列表、元组卡塔尔(英语:State of Qatar)的区分是积累和做客数据的办法各异。类别类型只用数字类型的键(从连串的上马起按数值顺序索引卡塔尔。字典类型能够用任何对象类型做键,一般最广泛的是用字符串做键(keys卡塔尔(قطر‎。和系列类型的键不一样,映射类型的键(keys卡塔尔国直接或间接地和积存的数据值相关联,况兼映射类型中的数据是严节排列的。

除此而外列表以外,字典只怕是Python之中最灵敏的放置数据结构类型,如若把列表看做是稳步的目标集结,那么就可以把字典当成是冬日的聚众。它们首要的差别在于:字典个中的要素是通过键来存取的,实际不是经过偏转移存入取。对字典实行索引是老大飞快的搜索操作,Python采纳最优化的散列算法来寻觅键,由此使用键查找的快慢相当慢。字典存款和储蓄的是目的的援引(不是拷贝)。

哈希表与字典的关联

队列类型用有序的数字键做索引将数据以数组的款式积存。 日常,索引值与所蕴藏的多寡毫非亲非故系。还足以用另意气风发种方法来存款和储蓄数据:基于某种相关值, 比方说四个字符串。

作者们在平常生活中一向这么做。你把大家的电话号码根据他们的姓记录在电话簿上,你根据时间在日历或约会簿上加上事件,等等。在此些事例中,你的键(key卡塔尔国正是和数量项有关的值。哈希表是大器晚成种数据结构,哈希表中储存的每一条数据,叫做两个值(value卡塔尔,是基于与它相关的叁个被称作为键(key卡塔尔的多少项举行仓储的。键和值合在协同被誉为“键-值 对”(key-value pairs卡塔尔国。 哈希表的算法是获取键,对键实践一个名称为哈希函数的操作,并依照总计的结果,选用在数据结构的某部地方中来囤积你的值。任何三个值存储的地点皆决意于它的键。正因为这种随意性,哈希表中的值是不曾种种的。你富有的是叁个冬辰的多寡集。哈希表经常常有很好的个性,用键查询分外快。

您所能拿到的坚持集中只好是字典中的键的联谊或然值的聚众。方法 Keys(卡塔尔国 或 values(卡塔尔 再次回到三个列表,该列表是可排序的。 你还足以用 items(卡塔尔(英语:State of Qatar)方法赢得蕴含键、值没有错列表来排序。

二、字典的基本操作

1、创制字典

多个字典条指标语法格式是 键:值 。 况兼,多条字典条约被含有在 { } 里。创立字典只要求把字典赋值给八个变量,不管这几个字典是或不是含有成分。

能够用工厂方法 dict() 来成立字典。

从 Python 2.3 版本起,能够用四个很实惠的内建艺术 fromkeys() 来成立一个"私下认可"字典,字典桐月素具备同等的值 (若无交到, 默许为None卡塔尔。

2、访问字典中的值

下标表示法 a[k] 从映射对象 a 中筛选由 k 键索引的元素,它能够用在表明式中用于赋值或作为 del(卡塔尔(英语:State of Qatar)语句的指标。内建函数 len() 重回映射中元素的个数。

从 Python 2.2 最初,你能够不用再用 keys(卡塔尔(英语:State of Qatar)方法获得供循环使用的键值列表了。能够用迭代器来轻巧地拜见类连串对象(sequence-like objects卡塔尔,举例字典和文书。只要求用字典的名字就能够在 for 循环里遍历字典。

要想遍历三个字典(日常用键卡塔尔(قطر‎, 你只要求循环查看它的键。

3、更新字典

你能够经过以下三种艺术对一个字典做修改:增多二个新数据项或新成分(即,多少个键-值对卡塔尔(قطر‎;改良四个已存在的数据项;或删除叁个已存在的数量项。

删除全体字典的操作不不足为道。日常,你剔除字典中的单个成分或是湮灭整个字典的内容。可是,即使您真想"删除"一个字典,用 del() 语句。使用 clear() 方法消灭整个字典的始末。使用 pop() 方法删除钦点的成分并回到其值。

三、字典类型操作符

字典能够和颇有的正规化项目操作符一齐干活,但却不帮助像拼接(concatenation)和另行(repetition卡塔尔国那样的操作。那些操作对队列有含义,可对映射类型行不通。

1、字典的键查找操作符([ ])

键探寻操作符是唯生机勃勃仅用于字典类型的操作符,它和连串类型里单一成分的切丝(slice卡塔尔(قطر‎操作符很相象。对队列类型来讲,用索引做唯风流罗曼蒂克参数或下标(subscript卡塔尔(英语:State of Qatar)以获得一个行列中有个别成分的值。对字典类型来讲,是用键(key卡塔尔(英语:State of Qatar)查询(字典中的元素卡塔尔,所以键是参数(argument卡塔尔(قطر‎,并不是二个索引(index卡塔尔。键查究操作符不只能够用于给字典赋值,也足以用来从字典中取值。

d[k] = v   通过键'k',给字典中某元素赋值'v'
d[k]       通过键'k',查询字典中某元素的值

2、(键)成员涉及操作( in,not in卡塔尔

使用 innot inh 操作符来检查有些键是还是不是留存于字典中。

三、字典可用的内建函数

1、dict()

厂子函数 dict() 被用来创制字典。要是不提供参数,会生成空字典。当容器类型对象做为多个参数字传送递给艺术 dict(卡塔尔时,若是参数是足以迭代的,即,八个队列,或是二个迭代器,或是三个援助迭代的靶子,这每一种可迭代的因素必需成对出现。在各类值对中,第一个要素是字典的键、第3个成分是字典中的值。

若果输入参数是(另卡塔尔(قطر‎八个辉映对象,比方,多少个字典对象,对其调用 dict(卡塔尔会从存在的字典里复制内容来生成新的字典。新生成的字典是本来字典对象的浅复制版本, 它与用字典的内建措施 copy() 生成的字典对象是同少年老成的。但是从已存在的字典生成新的字典速度比用 copy(卡塔尔(قطر‎方法慢,大家推荐使用 copy(卡塔尔(قطر‎。

2、len()

内建函数 len() 很灵敏。它可用在体系、映射类型和聚众上(在本章的后边大家会看见卡塔尔(英语:State of Qatar)。对字典调用 len(卡塔尔国,它会重临全体因素(键-值对卡塔尔的数量。

3、hash()

内建函数 hash(卡塔尔 自身实际不是为字典设计的不二诀要, 但它能够看清有个别对象是否能够做三个字典的键。将一个目的作为参数字传送递给 hash(卡塔尔(قطر‎,会回去那个指标的哈希值。 唯有这么些目的是可哈希的,才可视作字典的键 (函数的重返值是整数,不爆发错误或特别卡塔尔国。

如果用相比操作符来比较四个数值,开掘它们是相等的,那么即便二者的数据类型差别, 它们也会拿到平等的哈希值。

假定非可哈希类型作为参数字传送递给 hash(卡塔尔 方法,会发生 TypeError 错误(由此,如果应用那样的靶子作为键给字典赋值时会出错卡塔尔(英语:State of Qatar)。

四、字典类型内建措施

1、update(卡塔尔(قطر‎ 使用钦定的字典更新字典

2、keys(卡塔尔(قطر‎ values(卡塔尔(قطر‎ 再次来到字典的键、值

3、get(卡塔尔 找到钦赐的键的值

4、pop(卡塔尔国 删除钦命的键对应的成分

5、setdefault(卡塔尔(قطر‎ 在字典中取内定键的值,要是不设有就按大家内定的键和暗中认可的值插入到字典中

6、clear(卡塔尔国 清空字典

编辑:58彩票网络 本文来源:Python基础手册13,字典操作

关键词: