字典是一种存储 键值对 的结构.
啥是键值对? 这是计算机/生活中一个非常广泛使用的概念.
把 键(key) 和 值(value) 进行一个一对一的映射, 然后就可以根据键, 快速找到值.
a = { }
b = dict()
print(type(a))
print(type(b))
也可以在创建的同时指定初始值
键值对之间使用 , 分割, 键和值之间使用 : 分割. (冒号后面推荐加一个空格).
使用 print 来打印字典内容
student = { 'id': 1, 'name': 'zhangsan' }
print(student)
student = {
'id': 1,
'name': 'zhangsan'
}
最后一个键值对, 后面可以写 , 也可以不写.
student = {
'id': 1,
'name': 'zhangsan',
}
print('id' in student)
print('score' in student)
student = {
'id': 1,
'name': 'zhangsan',
}
print(student['id'])
print(student['name'])
student = {
'id': 1,
'name': 'zhangsan',
}
print(student['score'])
使用 [ ] 可以根据 key 来新增/修改 value.
student = {
'id': 1,
'name': 'zhangsan',
}
student['score'] = 90
print(student)
student = {
'id': 1,
'name': 'zhangsan',
'score': 80
}
student['score'] = 90
print(student)
student = {
'id': 1,
'name': 'zhangsan',
'score': 80
}
student.pop('score')
print(student)
直接使用 for 循环能够获取到字典中的所有的 key, 进一步的就可以取出每个值了.
student = {
'id': 1,
'name': 'zhangsan',
'score': 80
}
for key in student:
print(key, student[key])
student = {
'id': 1,
'name': 'zhangsan',
'score': 80
}
print(student.keys())
此处 dict_keys 是一个特殊的类型, 专门用来表示字典的所有 key. 大部分元组支持的操作对于
dict_keys 同样适用.
student = {
'id': 1,
'name': 'zhangsan',
'score': 80
}
print(student.values())
student = {
'id': 1,
'name': 'zhangsan',
'score': 80
}
print(student.items())
字典本质上是一个 哈希表, 哈希表的 key 要求是 "可哈希的", 也就是可以计算出一个哈希值.
print(hash(0))
print(hash(3.14))
print(hash('hello'))
print(hash(True))
print(hash(())) # ( ) 是一个空的元组
print(hash([1, 2, 3]))
print(hash({ 'id': 1 }))