字典

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