字典
- 字典是一系列键(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