字典
字典是另一种可变容器模型,且可存储任意类型对象。
一、基本格式
在字典中,名字叫做“键”,对应的内容信息叫做“值”,就是一个键/值对的集合。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 。
d = {key1 : value1, key2 : value2}
注意
- 键必须是唯一的,但值则不必。
- 值可以取任何数据类型;但键必须是不可变的,只能是简单对象如字符串,数字、元组、bool值。
score = {
'Steve' : 248,
'Tony' : 376,
'Thor' : 305,
1 : 'Tony',
2 : 'Thor',
3 : 'Steve'
}
print('''Thor's score is %d.''' %(score['Thor']))
print('''No.1 is %s.''' %(score[1]))
二、访问字典
score = {
'Steve' : 248,
'Tony' : 376,
'Thor' : 305,
1 : 'Tony',
2 : 'Thor',
3 : 'Steve'
}
for name in score:
print(score[name])
三、修改字典
如果要改变某一项的值,就直接给这一项赋值。
score = {
'Steve' : 248,
'Tony' : 376,
'Thor' : 305,
1 : 'Tony',
2 : 'Thor',
3 : 'Steve'
}
score['Thor'] = 399
score[1] = 'Thor'
score[2] = 'Tony'
for name in score:
print(score[name])
四、增加字典元素
向字典添加新内容的方法是增加新的键/值对。
score = {
'Steve' : 248,
'Tony' : 376,
'Thor' : 305,
1 : 'Tony',
2 : 'Thor',
3 : 'Steve'
}
score['Natalia'] = 198
score[4] = 'Natalia'
for name in score:
print(score[name])
五、删除字典元素
能删单一的元素也能清空字典,删除字典用del命令。
score = {
'Steve' : 248,
'Tony' : 376,
'Thor' : 305,
1 : 'Tony',
2 : 'Thor',
3 : 'Steve'
}
del score['Steve']
for name in score:
print(score[name])
score.clear()
del score
for name in score:
print(score[name])
注释
del score[‘Steve’]删除键‘Steve’
score.clear()清空字典,del score删除字典。
因为已删除字典,所以第二个for循环输出出现异常。
字典的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
- 1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
- 2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。