热烈欢迎你走进值班员新浪网的值班员大学堂自学Python科学知识,责任编辑自学的是《Python中词典的基本概念、特点、建立和删掉简述》。本习题主要就文本有:词典的基本概念、词典的主要就特点、词典的建立、词典的删掉。
在后面的Python专业课程自学中,他们教给了字符串中的条目和位元,那时已经开始传授字符串的另两个常见计算机程序–词典。
1、词典的基本概念
词典(dictionary)是失序的、气门的、留存的文本是以“键-值对”的方式储存的字符串。
我们是并非去认知Python中的词典呢?他们读中学的这时候,都用过《新华词典》,在《新华词典》中透过罗马字或是偏旁,他们能加速的搜到相关连的文本和说明。当中,《新华词典》里的罗马字或是偏旁相等于Python中字典的键(key),而相关连的简化字和说明相等于Python中词典的值(value)。键是惟一的,而值能有数个。键或其关连的值称作“数组对”。
2、词典的主要就特点
词典的主要就特点如下表所示:
2.1、透过键而并非透过检索来加载
2.2、词典是任一第一类的失序子集
词典是失序的,每项是右面乱数次序的,即留存在词典中的项没某一的次序。这种能提升搜寻次序。
2.3、词典是气门的,因此能任一冗余
词典能在别处快速增长或是延长(无需聚合这份复本),因此它全力支持任一广度的冗余(即它的值能是条目或是其它的词典)。
2.4、词典中的键要惟一
不允许同两个键出现两次,如果出现两次,则后两个值会被记住。
2.5、词典中的键要不气门
词典中的键是不气门的,所以能使用数字、字符串或是位元,但不能使用条目。
和条目、位元一样,词典也有它自己的类型。在 Python 中,词典的数据类型为 dict,透过type()函数即可查看:
a ={A:1,B:2,C:3}#a是两个词典类型print(type(a))
运行结果如下表所示:
>>>
3、词典的建立
他们在定义词典时,每个元素都包含了两部分:键(key)和值(value),因此在“键”和“值”之间使用英文冒号分隔,相邻两个元素使用英文逗号分离,所有的元素都放在两个大括号“{}”中,语法格式如下表所示:
dictionary ={key1:value1,key2:value2,…,keyn:valuen,}
当中,相关的参数值如下表所示:
dictionary:表示词典名称;
key1, key2,…, keyn:表示元素的键,要是惟一的,因此不气门,例如能是字符串、数字或是位元;
value1, value2,…, valuen:表示元素的值,能是任何数据类型,并非要惟一。
例如,某中学初三1班,M同学的语数英的成绩,用词典留存,代码如下表所示:
chengji ={语文:88,数学:96,英语:86}print(chengji)
运行结果如下表所示:
{语文:88,数学:96,英语:86}>>>
好了,简单的传授了一下词典的语法,下面值班员新浪网来给大家谈谈建立词典的8大方法:
3.1、建立空词典
词典和条目,位元一样都是能建立空值的字符串。在Python中,建立空词典居然还有两个方法:dictionary ={}或是 dictionary = dict()。
示例3.1.1:用dictionary ={}方法建立空条目,输出结果,并打印数据类型
dictionary ={}print(dictionary)print(“dictionary的数据类型为:”,type(dictionary))
运行结果如下表所示:
{}dictionary的数据类型为:>>>
示例3.1.2:用dictionary = dict()方法建立空条目,输出结果,并打印数据类型
dictionary = dict()print(dictionary)print(“dictionary的数据类型为:”,type(dictionary))
运行结果如下表所示:
{}dictionary的数据类型为:>>>
3.2、直接赋值建立词典
上面的,某中学初三1班,M同学的语数英的成绩,留存为词典就是直接赋值建立词典。
chengji ={语文:88,数学:96,英语:86}print(chengji)
运行结果如下表所示:
{语文:88,数学:96,英语:86}>>>
3.3、透过给定的“数组对”建立词典
语法格式如下表所示:
dictionary = dict(key1=value1,key2=value2,…,keyn=valuen)
当中,相关参数如下表所示:
dictionary:表示词典名称;
key1, key2,…, keyn:表示元素的键,要是惟一的,因此不气门,例如能是字符串、数字或是位元;
value1, value2,…, valuen:表示元素的值,能是任何数据类型,并非要惟一。
示例3.3:
a = dict(A =1, B =2, C =3)print(a)
运行结果为:
{A:1,B:2,C:3}>>>
3.4、透过二位元条目建立
定义两个二位元条目因此赋值,
list =[(A,1),(B,2),(C,3)]a = dict(list)print(a)
运行结果为:
{A:1,B:2,C:3}>>>
3.5、透过映射函数建立词典
语法如下表所示:
dictionary = dict(zip(list1,list2))
当中,相关参数说明如下表所示:
dictionary:表示词典名称。
zip()函数:用于将数个条目或位元相关连位置的元素组合为位元,并返回包含这些文本的zip第一类。如果想得到位元,能将zip第一类使用tuple()函数转换为位元;如果想得到条目,则能使用list()函数将其转换为条目。
list1:表示两个条目,用于指定要聚合词典的键。
list2:表示两个条目,用于指定要聚合词典的值。如果list1和list2的长度不同,则与最短的条目长度相同。
示例3.5:某高校寝室住着4大美女,将他们的名字留存在两个条目中,相应的年龄留存在另两个条目中,根据名字和年龄建立两个词典。
思路:在IDLE中,他们打开草稿文件000.py,先定义两个均包含4个元素的条目,在应用dict()函数和zip()函数,将两个条目转化为相关连的词典,并输出该词典。
name =[美琳,梦洁,雪丽,美莲]age =[18,19,19,18]a = dict(zip(name,age))print(a)
运行结果为:
{美琳:18,梦洁:19,雪丽:19,美莲:18}>>>
3.6、透过dict第一类的fromkeys()方法建立词典。
Python 中,还能使用 dict 词典类型提供的 fromkeys()方法建立带有默认值的词典,具体格式为:
dictionary = dict.fromkeys(list,value=None)
当中,list 参数表示词典中所有键的条目(list);value 参数表示默认值,如果不写,则为空值 None。
kemu =[语文,数学,英语]#作为键的条目a = dict.fromkeys(kemu,100)#指定科目的默认成绩为100print(a)
运行结果如下表所示:
{语文:100,数学:100,英语:100}>>>
3.7、透过词典推导式建立(词典的最后两个习题再详细传授词典推导式)
a ={i:2*i for i in range(3)}print(a)
运行结果如下表所示:
{0:0,1:2,2:4}>>>
3.8、其它方法
list =[A,1,B,2,C,3]a= dict(zip(list[::2], list[1::2]))print(a)
运行结果:
{A:1,B:2,C:3}>>>
4、词典的删掉
同条目和位元一样,不再需要的词典也能使用del命令删掉。例如,透过下面的代码即可将已经定义的词典删掉。
del dictionary
另外,如果只是想删掉词典的全部元素,能使用词典第一类的clear()方法。执行clear()方法后,原词典将变为空词典。例如,下面的代码将清除词典的全部元素。
dictionary.clear()
除了上面介绍的方法能删掉词典元素,还能使用词典第一类的pop()删掉并返回指定“键”的元素,以及使用词典第一类的popitem()方法删掉并返回词典中的两个元素。
到此为止,责任编辑自学的是《Python中的位元推导式简述》。本习题主要就文本有:词典的基本概念、词典的主要就特点、词典的建立、词典的删掉。