一、字典的定义

字典是可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号分割,每个键值对之间用逗号分割,整个字典包括在花括号 {} 中。
字典是可变类型的对象。
我们也可以理解为,字典类似Json结构。

  1. #!/usr/bin/env
  2. # 定义一个空字典
  3. dict_01 = {}
  4. print(dict_01)
  5. # 定义一个包含键值对的字典
  6. dict_02 = {'name': 'xiaoxiao', 'age': 22}
  7. print(dict_02)

二、访问字典中的数据

Python中,可以使用键值key来获取其对应的值value

  1. #!/usr/bin/env
  2. # 定义一个包含键值对的字典
  3. dict_02 = {'name':'xiaoxiao','age':22}
  4. # 输出key为name所对应的值
  5. print(dict_02['name'])

三、修改字典、添加数据

Python中,修改数据是指针对已存在的键值对做修改操作。

  1. #!/usr/bin/env
  2. # 定义一个包含键值对的字典
  3. dict_02 = {'name':'xiaoxiao','age':22}
  4. # 把age对应的值改为18,并输出
  5. dict_02['age'] = 18
  6. print(dict_02['age'])

Python中,添加数据是指针对字典里没有该键值对做追加操作。

  1. #!/usr/bin/env
  2. # 定义一个包含键值对的字典
  3. dict_02 = {'name':'xiaoxiao','age':22}
  4. # 添加key性别gender,其对应的值为male
  5. dict_02['gender'] = 'male'
  6. print(dict_02['gender'])
  7. print(dict_02)

四、删除字典元素

在Python中删除某个字典键值对,又或者是整个字典,都可以使用del语句。

  1. #!/usr/bin/env
  2. # 定义一个包含键值对的字典
  3. dict_02 = {'name':'xiaoxiao','age':22}
  4. # 删除age所在的键值对
  5. del dict_02['age']
  6. print(dict_02)
  7. # 删除整个字典
  8. del dict_02
  9. # 由于在输出之前,字典已经被删除,所以会报错
  10. print(dict_02)

如果我们只是想了清空字典内的键值对而不销毁字典,可以使用clear()方法清空字典中所有的键值对。

  1. #!/usr/bin/env
  2. # 定义一个包含键值对的字典
  3. dict_02 = {'name':'xiaoxiao','age':22}
  4. # 清空字典中的数据,但不销毁字典
  5. dict_02.clear()
  6. print(dict_02)

五、字典的遍历

Python中,可以使用for循环遍历字典的键值对内容。
keys()方法:获取字典中的所有key
get()方法:根据key获取对应的value

  1. #!/usr/bin/env
  2. # 定义一个包含键值对的字典
  3. dict_02 = {'name':'xiaoxiao','age':22}
  4. # 遍历字典
  5. for temp in dict_02.keys():
  6. print(dict_02.get(temp))

更详细的可以参考这篇博文:https://blog.junphp.com/details/222.jsp

六、字典的特性

1、不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会覆盖前一个值。

2、键必须不可变,所以可以用数字,字符串或元组充当,不能使用列表。