字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 **key=>value** 对用冒号 : 分割,每个对之间用逗号 , 分割 , 整个字典包括在花括号 { } 中 ,格式如下所示:

  1. dict1 = {key1:value1, key2:value2, key3:value3}

Python for 家毅:Dict - 图1

  1. 字典即为键(keys)到值(values)的映射,称为键值对(key-value pair),或称为项(item)
  2. 值可以是任意的python对象,而键只能是数字、字符串或者元组。
  3. 键不可更改,只能zeng’jian
  4. 字典中的项均为无序排列,因此不能通过索引值(index,dict1[3])来查询。
  5. 通过key来查询value
  6. 一个字典中,key值必唯一,value值无限制。(一个英汉字典里只有一个retrieve,但是对应‘取回’的这个意思的英文单词却有好几个,即很多个不同且唯一的单词的值都是‘取回’)

访问字典值

通过dict[key]来查询对应的值

  1. dict = {'name':'runoob', 'age':7, 'class':'first'}
  2. print ("Name:", dict['Name'])
  3. print ("Age:", dict['Age'])

输出如下:

  1. dict['Name']: Runoob
  2. dict['Age']: 7

修改值&增加值

dict[key] = new_value 如果key本不存在,则dict中新增一项key,映射的值为value

删除字典元素

  1. del dict[key] 删除一个key
  2. dict.clear() 清空dict
  3. del 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为默认值,返回字典

字典转换成列表

  1. dict.keys() 返回键的序列
  2. dict.values() 返回值的序列 ```python dict = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Class’: ‘First’}

list1 = list(dict.keys()) list2 = list(dict.values()) ```

思考一下

为什么说dict.get在访问字典值是优于dict[key]?