← 返回首页
Python3基础教程(十一)
发表时间:2022-03-25 16:51:02
Dictionary(字典)

1.Dictionary(字典)

dict定义了键和值之间的一一对应关系,每个元素都是一个key-value对;整个元素集合用大括号括起来,有序集合;可以通过 key 得到value, 但不能通过vaule获取 key;在一个 dict中不能有重复的 key, 并且 key 是大小写敏感的;键可以是数字、字符串或者是元组等不可变类型;并且在同一个字典中,键(key)必须是唯一的。

dictionary与list比较:

dictionary和list比较,dict有以下几个特点: - 查找和插入的速度极快,不会随着key的增加而变慢; - 需要占用大量的内存,内存浪费多。

而list相反: - 查找和插入的时间随着元素的增加而增加; - 占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。

dictionary与set比较: set和dict的唯一区别仅在于没有存储对应的value。

实例:

# -*- coding: utf-8 -*-
# @Time : 2022/3/25 16:36
# @File : dictionary.py
# @Software : PyCharm

#定义一个空字典
dict1 = {}
print(dict1)

#使用json格式创建字典
dict2={'010':'北京','021':'上海','020':'广州','028':'成都'}
# 输出完整的字典
print(dict2)
print (dict2['020'])      # 输出键为 '020' 的值

#dict提供的get()方法,如果key不存在,可以返回None
print(dict2.get('020'))
print(dict2.get('029'))
#添加元素
dict2['029']='西安'
# 输出所有键
print (dict2.keys())
# 输出所有值
print (dict2.values())
# 判断某个键是否存在
print('029' in dict2)
# 删除某个键
dict2.pop('029')
print(dict2)

运行结果:

{}
{'010': '北京', '021': '上海', '020': '广州', '028': '成都'}
广州
广州
None
dict_keys(['010', '021', '020', '028', '029'])
dict_values(['北京', '上海', '广州', '成都', '西安'])
True
{'010': '北京', '021': '上海', '020': '广州', '028': '成都'}

2. 字典小结

3.Python集合框架总结