python 字典(dictionary)
字典是一种可变容器模型,且可存储任意类型对象。使用键-值(key-value)存储,具有极快的查找速度。
格式如下:
d = {key1(键) : value1((值), key2 : value2 }
举个例子:用字典来存放成绩。
d={'李明' : 89, '珍妮' : 90,'戴维' : 90}
值可以取任何数据类型。但键必须是不可变的所以可以用数字,字符串或元组充当,所以用列表就不行。
像上面的例子:
d={'李明' : '89', '珍妮' : '90','戴维' : '90'}
如果我们把键改为列表:
d={['李明'] : '89', '珍妮' : '90','戴维' : '90'}
结果就会报错:
Traceback (most recent call last):
File "C:/Users/86153/PycharmProjects/pythonProject2/123.py", line 1, in <module>
d={['李明'] : '89', '珍妮' : '90','戴维' : '90'}
TypeError: unhashable type: 'list'
访问字典里的值
把相应的键放入的方括弧中:
d={'李明' : '89', '珍妮' : '90','戴维' : '90'}
print(d['李明'])
此时:李明的成绩就被调出来了89
。
若字典中无键的访问数据,就会输出错误。
比如:
d={'李明' : '89', '珍妮' : '90','戴维' : '90'}
print(d['小黑'])
这时电脑就会显示:
Traceback (most recent call last):
File "C:/Users/86153/PycharmProjects/pythonProject2/123.py", line 2, in <module>
print(d['小黑'])
KeyError: '小黑'
当然为了避免出现错误,我们可以通过以下的方法来避免:
通过in
判断key
是否存在。
d={'李明' : '89', '珍妮' : '90','戴维' : '90'}
print('小黑'in d)
结果为:False
修改,删除字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对。
示例如下:将小明的成绩改为92,添加戴夫成绩为98.
d={'李明' : '89', '珍妮' : '90','戴维' : '90'}
d['李明']='92' ##更新
d['戴夫']='98' ##添加
print(d)
结果为:要注意,被添加的键/值对会排在末尾。
{'李明': '92', '珍妮': '90', '戴维': '90', '戴夫': '98'}
我们可利用del
能删单一的元素也能清空字典,清空只需一项操作。
例如:我们把李明的成绩删除。
d={'李明' : '89', '珍妮' : '90','戴维' : '90'}
del d['李明']
print(d)
结果为:
{'珍妮': '90', '戴维': '90'}
我们也可以利用del
来清空字典:
d={'李明' : '89', '珍妮' : '90','戴维' : '90'}
del d
print(d)
结果为:
Traceback (most recent call last):
File "C:/Users/86153/PycharmProjects/pythonProject2/123.py", line 3, in <module>
print(d)
NameError: name 'd' is not defined
我们可以利用dict.clear()
来清空字典。
例如:
d={'李明' : '89', '珍妮' : '90','戴维' : '90'}
d.clear()
print(d)
结果就是:{}
d
里面的元素都被清空了。