首页betway必威体育app官网 › betway必威体育app官网Python基础手册13——映射(字典)

betway必威体育app官网Python基础手册13——映射(字典)

映射

投表示出于任意索引集索引的片的,无序的,键不又的目标集合。目前出同种照类型:字典。

一、字典

一个字典对象是可变的,它是一个容器类,可以经过
{key1:value1, key2:value2,...} 方法创建。字典能储存任意个数的
Python
对象,也囊括其它的容器类。字典的目录操作使用的是暨排相同的语法,但是于方括号被的元素是键,而未是对立位置,作为炫耀,字典仅支持通过键获取元素。每个键只能对应一个价值,一键对许多个价是勿允许的。对一个初的字典的键赋值会创建该键。

几乎有品类的 Python
不可变对象都得以据此作键(字典的键需要密钥的哈希值保持不转换),不过貌似要坐数字或者字符串最为常用。值好是即兴档次的
Python 对象。

字典类型和行类型(列表、元组)的别是储存和看数的办法各异。序列类型只用数字型的键(从序列的开自以数值顺序索引)。字典类型可以为此其他对象类型做键,一般最好广大的凡因此字符串做键(keys)。和排类型的键不同,映射类型的键(keys)直接或者间接地同存储的数据值相关联,而且映射类型受到的数是无序排列的。

而外列表以外,字典也许是Python之中最灵的坐数据结构类型,如果把列表看做是一成不变的靶子集合,那么即使足以管字典当成是无序的会师。它们要的距离在:字典当中的要素是通过键来存取的,而非是经过摇存取。对字典进行索引是雅迅猛的探寻操作,Python采用最优化的散列算法来寻找键,因此使用键查找的速度好快。字典存储的凡目标的援(不是拷贝)。

哈希表及字典的关联

班类型用有序的数字键做索引将数据为数组的款式储存。
一般,索引值与所蕴藏的多少毫无关系。还可以据此其他一样栽艺术来囤积数据:基于某种相关价值,
比如说一个字符串。

咱在日常生活中直接这样做。你将人们的电话号码按照他们的姓记录在电话簿上,你以时间以日历或横会簿上丰富事件,等等。在这些事例中,你的键(key)就是与数码项有关的价。哈希表是一律种多少结构,哈希表中储存的每一样长数据,叫做一个价值(value),是依据和她相关的一个让名为键(key)的数额项进行仓储的。键和价值合在一起被号称“键-值
对”(key-value pairs)。
哈希表的算法是获得取键,对键执行一个称呼哈希函数的操作,并冲计算的结果,选择以数据结构的某某地点被来储存你的价值。任何一个价值存储的地址都在它的键。正以这种随意性,哈希表中之值是没各个的。你有所的是一个无序的数集。哈希表一般有甚好之属性,用键查询相当快。

若所能取得的雷打不动聚集只能是字典中之键的集纳或者值的集合。方法 Keys() 或
values() 返回一个列表,该列表是只是排序的。 你还好据此
items()方法获得包含键、值对的列表来排序。

亚、字典的基本操作

1、创建字典

一个字典条目的语法格式是 键:值 。 而且,多长长的字典条目被含有在
{ }
里。创建字典只待将字典赋值给一个变量,不管这字典是否含有元素。

足用工厂方法 dict() 来创建字典。

于 Python 2.3 版本从,可以就此一个十分方便之内建方法 fromkeys()
来创建一个"默认"字典,字典中元素具有相同的值 (如果没有受闹, 默看
None)。

2、访问字典中之价值

下标表示法 a[k] 从映射对象 a 中摘由 k
键索引的因素,它好据此当表达式中用来赋值或当 del()
语句的靶子。内建函数 len() 返回映射中元素的个数。

打 Python 2.2 开始,你得无需还用 keys()
方法取得供循环利用的键值列表了。可以为此迭代器来轻松地走访类序列对象(sequence-like
objects),比如字典和文件。只需要因此字典的名即可于 for
循环里遍历字典。

如想遍历一个字典(一般用键), 你才待循环查看其的键。

3、更新字典

公可以经以下几种艺术对一个字典做修改:添加一个初数据项或新元素(即,一个键-值对);修改一个一度是的多寡项;或去一个曾经存在的数量项。

抹所有字典的操作不常见。通常,你去字典中的么元素或清除整个字典的情节。但是,如果您真的想"删除"一个字典,用
del() 语句。使用 clear() 方法清除整个字典的内容。使用
pop() 方法去指定的要素并回到其价值。

老三、字典类型操作符

字典可以同富有的标准项目操作符一起工作,但可休支持像拼接(concatenation)和再(repetition)这样的操作。这些操作对队列有意义,可针对投类型行不通。

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

键摸索操作符是唯一仅用于字典类型的操作符,它同行类型里单一元素的切片(slice)操作符很相象。对队列类型来说,用索引做唯一参数或下标(subscript)以抱一个行列中有元素的价。对字典类型来说,是用键(key)查询(字典中的因素),所以键是参数(argument),而无是一个目(index)。键摸索操作符既可用于为字典赋值,也得用来从字典中取值。

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

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

使用 innot inh 操作符来检查有个键是否是叫字典中。

老三、字典可用之内建函数

1、dict()

厂子函数 dict()
被用来创造字典。如果非提供参数,会生成空字典。当容器类对象做啊一个参数传递给方
dict()
时,如果参数是得迭代的,即,一个列,或是一个迭代器,或是一个支持迭代的对象,那每个可迭代的素必须成为对出现。在每个值对受,第一只因素是字典的键、第二独要素是字典中之值。

假定输入参数是(另)一个辉映对象,比如,一个字典对象,对那个调用 dict()
会从在的字典里复制内容来好成新的字典。新生成的字典是本来字典对象的浅复制版本,
它跟用字典的内建方法 copy()
生成的字典对象是均等的。但是自从曾经是的字典生成新的字典速度比较用 copy()
方法慢,我们推荐下 copy()。

2、len()

内建函数 len()
很灵活。它可用在排、映射类型和集聚上(在本章的后我们会看)。对字典调用
len(),它见面返回所有因素(键-值对)的多少。

3、hash()

内建函数 hash() 本身并无是吧字典设计的措施,
但它可以判明有对象是否可举行一个字典的键。将一个目标作为参数传递给
hash(),会回到这个目标的哈希值。
只有这个目标是可哈希的,才可视作字典的键
(函数的返回值是整数,不生错误或大)。

如就此比操作符来比少单数价,发现她是当的,那么就算二者的数据类型不同,
它们啊会博得平等之哈希值。

使非可哈希类型作为参数传递给 hash() 方法,会产生 TypeError
错误(因此,如果下这样的目标作为键给字典赋值时会出错)。

季、字典类型内建方法

1、update() 使用指定的字典更新字典

2、keys() values() 返回字典的键、值

3、get() 找到指定的键的价值

4、pop() 删除指定的键对应之要素

5、setdefault() 在字典中取指定键的值,如果不在就照咱们指定的键和默认的价插入到字典中

6、clear() 清空字典

转载本站文章请注明出处:bway883.com https://www.piworx.com/?p=2752

上一篇:

下一篇:

相关文章

网站地图xml地图