字典
-
字典是一系列键(key)-值(value)对,每个键关联一个值(键是可进行哈希值计算的对象一般是数字和字符串,值可以是:数字,字符串,列表,字典,自定义类型等);使用键来访问与之相关联的值;键与值之间用冒号:隔开,键—值对之间用逗号隔开。
-
类似对象组成的字典:确定使用多行来定义字典时,换行注意缩进四个空格;若要拆分打印的内容,在+号后进行换行同时也要缩进四空格(用Tab键进行换行后的对其缩进)。
-
字典对象的键是唯一的,不可能同时有两个元素具有相同的键;出现相同的键,后边的元素会替换前面的元素。
-
字典是一种动态结构,可随时在其中添加键-值对,字典的写法:
-
alien_0 = {'color':'green','point':5} #键与值之间用冒号:隔开,键—值对之间用逗号隔开 print(alien_0['color']) #访问与键color相关联的值, 结果打印green print(alien_0['point']) #访问与键point相关联的值, 结果打印5
-
给字典添加对象。
-
alien_0 = {'color':'green','point':5} print(alien_0['color']) #打印结果 green 为绿色 alien_0['x_position'] = 0 #添加外星人键(x坐标):值 为0 alien_0['y_position'] = 10 #添加外星人键(y坐标):值 为10 print(alien_0) #打印字典里的值,(注意:Python不关心键-值对的添加顺序,只关心打印时键-值对的关联关系)
-
为了方便可创建空字典,往其中添加键-值对。
-
alien_0 = {} #定义一个空字典 alien_0['color'] = 'green' #添加键-值对 alien_0['point'] = '5' #添加键-值对 print(alien_0) #打印此字典的键-值对 {'color':'green','point':5}
-
改变字典中的值。
-
alien_0 = {'color':'green','point':5} print(alien_0) # 打印显示{'color':'green','point':5} alien_0['color'] = red #将外星人的颜色改为红色 print(alien_0) #打印: {'color':'red','point':5}
-
删除键-值对用del语句,注意:被删除的键-值对永远消失。
-
alien_0 = {'color':'green','point':5} print(alien_0) #打印 {'color':'green','point':5} del alien_0['point'] #删除'point'键-值对,删除键对应的值也随即消失。 print(alien_0) #打印 {'color':'green'}
-
删除键-值对用pop方法:可返回key对应的value的对象。
-
members = { 'account1':13, 'accoun2':12 } val = members.pop('account1') #删除一个元素 print(members) #打印删除后的结果:{'accoun2':12} print(val) #pop方法返回key对应的value的,故此时打印结果:13
-
类似对象组成的字典:确定使用多行来定义字典时,要拆分打印的内容,在+号后进行换行同时也要缩进四空格。
-
favorite_languages = { 'jim':'python', #换行注意缩进四个空格(用Tab键进行换行后的对其缩进) 'sarah':'c', 'phil':'ruby', 'sha':'java', } print(favorite_languages)
-
检查a是否在var中存在,若存在返回Ture否则返回False eg: a in var 。
-
检查b是否在var中不存在,若不存在返回Ture否则返回False eg: a not in var 。
-
members = { 'account1':13, 'accoun2':12 } if 'account' in members: print('account1在字典中存在') if 'account5' not in members: print('account5在字典中不存在')
-
遍历字典中所有元素,字典的items()方法。
-
members = { 'account1':13, 'account2':12, 'account3':14, } for account,level in members.items(): print(f'account:{account},level:{level}')
-
字典的key方法,返回的是将字典所有的 键 存入一个类似列表的对象
-
members = { 'account1':13, 'account2':12, 'account3':14, } print(members.keys()) #返回 dict_keys(['account1', 'account2', 'account3']) print(members.values()) #返回 dict_values([13, 12, 14])
-
字典的values方法,返回的是将字典所有的 值 存入一个类似列表的对象。
-
members = { 'account1':13, 'account2':12, 'account3':14, } members.values() #返回 {'account1': 13, 'account2': 12, 'account3': 14} print(members)
-
字典的clear方法,清空字典对象里面的所有元素;与重新给字典赋值赋空字典不一样的是:clear方法,举例中members指向的还是原来字典对象;而重新赋值法members变量就指向新的一个空字典,原来的字典因为没被引用就会被python解释器清楚。
-
members = { 'account1':13, 'account2':12, 'account3':14, } members.clear() print(members) #返回 {}
-
字典 update 方法,把字典里面加上另外一个字典的内容。
-
members = { 'account1':13, 'account2':12, 'account3':14, } another = { 'account4':15, 'account5':14, } members.update(another) print(members) #返回 {'account1': 13, 'account2': 12, 'account3': 14, 'account4': 15, 'account5': 14}
-
字典 len 方法,得到字典元素的个数。
-
members = { 'account1':13, 'account2':12, 'account3':14, } print(len(members)) #返回3 即字典中元素个数为3