python字典常用操作以及字典的嵌套,python字典常用操作以及字典的嵌套
在python中,字典是{key:value}数据项的组合,以{key: value}的形式存在。与列表相比,字典是无序的,成员是按键访问的,而列表是按位置访问成员的。
python中的字典描述:
1.字典可以存储任何类型的对象;
2.每个键:值键:值必须用冒号“:”分隔,不同的键值用“,”分隔;整本词典收录在{}中;
3.每个“key:value”键值中的键必须是唯一的且不可更改的(因为键-值对的值是由key获得的)
本文将分为三个部分:基础使用字典、遍历字典和基础字典嵌套。一、使用字典
这部分讲的是字典创建-添加-删除-更改-查找(访问)(几个操作是明确字典名和键,值)和字典相关的内置函数。1.创建
字典可以通过以下方式直接创建:
字典名称={key0: value0,key1: value1,key2: value2,…}
有时,为了满足项目的需要,可以添加字典name={},并在以后进行处理。
# Create dictionary dict={ name 0 : xfd XM , name1: cxdny , name2 :背后的懒猪 }描述。如果这个键不在被调用的字典中,执行将报告一个KeyError,表明字典中没有相应的键,如下所示:2.增
字典是一个动态结构,可以随时添加“键值”。如下所示:
3.删
对于字典中不再需要的信息,可以使用del语句删除对应“键值”从010到59000对应的信息。
要修改字典中的值,首先要指定修改后的字典名和键,并与值对应,如下图:4.改。
键值的值通过key从值5.查中获取。
Len(dict):统计字典中元素的个数,即键的总数。
Str(dict):将字典显示为字符串。
Type(dict):返回输入变量类型,这里应该是字典类型。详情如下:6.字典相关的内置函数
因为字典中包含的键值的个数是不确定的,也许是几个也许是几百万个,所以平时的使用往往会涉及到字典的遍历。我们将从遍历键、遍历值、遍历键-值对、按顺序遍历四个方面来描述。
1.遍历键内置方法键()
在python中使用keys()可以以列表的形式返回字典中的所有键。
Keys()没有参数,只有一个返回值,它返回一个字典的所有键。
;
遍历键的时候,使用dict.keys()和dict没什么区别,如下图:
2.导线值()
在python中,类似于获取一个键,使用values()遍历一个字典的所有值,可以以列表的形式返回字典中的所有值。
3.遍历关键字:值项目()
Python Dictionary) items()函数以列表形式返回可遍历(键,值)元组的数组。
有时,为了便于数据处理,可以定义两个变量来分别接收键和值,如下所示:
4.按顺序遍历排序的()
在字典中,键和值的对应关系被清楚地记录下来。然而,获取的顺序是不可预测的。当需要按顺序获取时,可以使用sorted()进行排序。
Sorted()按顺序排列数据,是键列表的副本。
1)对关键字进行排序并执行相应的操作,如下例所示:
2)按值排序,如下所示:
由于值中存在重复值,所以用于遍历的值较少。Set可用于接收和重复数据删除。
这里添加的值排序是为了说明排序输出,本质上只是使用sorted()的方法。二、遍历字典
在python程序中,有时候字典需要存储在列表中,有时候列表需要存储在字典中,甚至字典也需要存储在字典中,这就是所谓的嵌套。三、字典嵌套
在存储多个对象时,每个对象都有一些属性。我们可以把每个对象的属性和属性值放在一个字典中,在列表中存储很多字典作为列表的基本元素。比如每个人都有名字,身高,体重,性别。我们可以将这些属性存储在一个字典中,然后将每个字典存储在一个列表中。需要修改时,可以根据条件进行修改。该过程如下:
Person=[] for I in range (0,5): person _ demo={name: xfdxm , sex: male , height : 175 } person . append(person _ demo)print(person)for j in range(Len(person)):if j==0:person[j][ name ]= bqdpj elifj==1:person[j][ name ]= jingjing elifj==2:person[j][ name ]=欢欢 elif j
在字典中,当一个键需要与多个值关联时,可以在一个列表中存储多个值。比如介绍一个人的爱好时,爱好是存储在一个列表里的。
Person={name: xfdxm ,性别:男,身高: 175 ,爱好:[读书,打乒乓球]}1.列表中存储字典
如上面字典中存储的列表,当需要多人存储时,我们可以使用字典中存储的字典,其中选择key属性作为键值(名称选择):
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。