字典基本知识
定义:字典(Dict)是可变的无无序集合,同时是一种以键值对为基本元素的可以存储各种数据类型的集合,用大括号({})表示字典的开始和结束,元素之间用逗号(,)分隔。
键值对由键(key)和值(value)组成,中间用冒号(:)分隔。
- 字典内部结构是哈希表构成,通过唯一的键值访问对应的值,所以字典对象没有提供排序功能(类似
C++的unordered_map,但unordered_map允许有重复元素)。字典数据类型是无序的,这与列表、元组之间有一个明显的区别; - 列表、元组的元素允许重复,字典的元素(键)不允许重复。
字典的键、值设置要求
键的设置要求:
3. 唯一性:一个字典对象里所有的键必须唯一。
4. 不可变性:字典在使用过程中明确,不能对元素的键进行直接修改。
值的设置要求:
5. 字典对象的值可以是Python支持的任何类型数据
字典的基本方法(类似C++无序关联容器unordered_map):
| 方法名称 | 方法功能 |
|---|---|
clear | 字典清空 |
copy | 复制生成另外一个字典 |
fromkeys | 使用给定的键建立新的字典,每个键默认对应的值为None |
get | 根据指定键,返回对应值;访问键不存在时,返回None |
items | 以元组数组的形式返回字典中的元素 |
keys | 以可以浏览的类似列表的形式返回字典中的键 |
pop | 删除指定键的元素,并返回指定键的值 |
popitem | 随机返回元素,并删除元素 |
setdefault | 当字典中键不存在时,设置键值对;当键存在时,获取键对应的值 |
update | 利用一个字典更新另一个字典 |
values | 以可以浏览的类似列表的形式返回字典中的值 |
字典元素的添加
- 利用赋值添加:
d5['Mike']=23 - 利用
setdefault添加:d5.setdefault('Mike',23)
字典元素值的查找
- 通过指定键查找:
d5['Mike'] - 通过
get查找:d5.get('Mike'),不存在时返回空值,而不是报错
字典值的修改
- 通过赋值修改:
d5['Mike']=22,保证键存在,不然会新增元素 - 通过
update修改:d5.update(d6),d5中的键存在则更新值,不存在则新建元素
字典元素删除
若删除的元素不存在,则报错
- 通过
del删除:del(d5['Mike']) - 通过
pop删除:d5.pop('Marry') - 通过
popitem删除:d5.popitem()
字典的遍历
字典遍历可以对键值对、键、值进行遍历:
- 通过
items遍历所有键值对:for item in d5.items():print(item),py2.x返回列表形式显示;py3.x返回dict_items对象方法+列表显示 - 通过
in或keys遍历键:for gets in d5:print(gets)或for gets in d5.keys():print(gets) - 通过
in或values()遍历值:for gets in d5:print(d5[gets])或for gets in d5.values():print(gets)
字典的其他方法
in成员操作:clear()方法:copy()方法:fromkeys()方法:
字典嵌套
字典嵌入字典
字典嵌入字典有以下优势:
- 可以很方便地体现数据之间的关系;
- 体现了字典记录数据的灵活性;
本文围绕Python字典展开,介绍了字典基本知识,包括定义、键值设置要求、基本方法(添加、查找、修改、删除、遍历等),还阐述了字典嵌套的情况,如字典嵌入字典、列表嵌入字典、字典嵌入列表,体现了字典存储数据的灵活性。
616

被折叠的 条评论
为什么被折叠?



