字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 **key=>value**
对用冒号 : 分割,每个对之间用逗号 , 分割 , 整个字典包括在花括号 { } 中 ,格式如下所示:
dict1 = {key1:value1, key2:value2, key3:value3}
- 字典即为键(keys)到值(values)的映射,称为键值对(key-value pair),或称为项(item)
- 值可以是任意的python对象,而键只能是数字、字符串或者元组。
- 键不可更改,只能zeng’jian
- 字典中的项均为无序排列,因此不能通过索引值(index,
dict1[3])来查询。 - 通过key来查询value
- 一个字典中,key值必唯一,value值无限制。(一个英汉字典里只有一个retrieve,但是对应‘取回’的这个意思的英文单词却有好几个,即很多个不同且唯一的单词的值都是‘取回’)
访问字典值
通过dict[key]
来查询对应的值
dict = {'name':'runoob', 'age':7, 'class':'first'}
print ("Name:", dict['Name'])
print ("Age:", dict['Age'])
输出如下:
dict['Name']: Runoob
dict['Age']: 7
修改值&增加值
dict[key] = new_value
如果key本不存在,则dict中新增一项key,映射的值为value
删除字典元素
del dict[key]
删除一个keydict.clear()
清空dictdel dict
删除dict
字典常用方法
函数及方法 | 描述 |
---|---|
len(dict) | 返回元素个数 |
dict.copy() | 返回dict的浅复制 |
key in dict | 判断dict中是否有key,返回true or false |
dict.get(key, default = default_value ) | 返回指定key对应的值,不存在则返回default值。优于直接访问 |
dict1.update(dict2) | 将dict2中的项全部更新/替换到dict1中 |
dict1 = dict.fromkeys(seq, value) | 以序列seq(列表or元组)为key,value为默认值,返回字典 |
字典转换成列表
dict.keys()
返回键的序列dict.values()
返回值的序列 ```python dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}
list1 = list(dict.keys()) list2 = list(dict.values()) ```
思考一下
为什么说dict.get在访问字典值是优于dict[key]?