Python—字典

本文围绕Python字典展开,介绍了字典基本知识,包括定义、键值设置要求、基本方法(添加、查找、修改、删除、遍历等),还阐述了字典嵌套的情况,如字典嵌入字典、列表嵌入字典、字典嵌入列表,体现了字典存储数据的灵活性。

字典基本知识

定义:字典(Dict)是可变的无无序集合,同时是一种以键值对为基本元素的可以存储各种数据类型的集合,用大括号({})表示字典的开始和结束,元素之间用逗号(,)分隔。

键值对由键(key)和值(value)组成,中间用冒号(:)分隔。

  1. 字典内部结构是哈希表构成,通过唯一的键值访问对应的值,所以字典对象没有提供排序功能(类似C++unordered_map,但unordered_map允许有重复元素)。字典数据类型是无序的,这与列表、元组之间有一个明显的区别;
  2. 列表、元组的元素允许重复,字典的元素(键)不允许重复。

字典的键、值设置要求
键的设置要求:
3. 唯一性:一个字典对象里所有的键必须唯一。
4. 不可变性:字典在使用过程中明确,不能对元素的键进行直接修改。
值的设置要求:
5. 字典对象的值可以是Python支持的任何类型数据

字典的基本方法(类似C++无序关联容器unordered_map):

方法名称方法功能
clear字典清空
copy复制生成另外一个字典
fromkeys使用给定的键建立新的字典,每个键默认对应的值为None
get根据指定键,返回对应值;访问键不存在时,返回None
items以元组数组的形式返回字典中的元素
keys以可以浏览的类似列表的形式返回字典中的键
pop删除指定键的元素,并返回指定键的值
popitem随机返回元素,并删除元素
setdefault当字典中键不存在时,设置键值对;当键存在时,获取键对应的值
update利用一个字典更新另一个字典
values以可以浏览的类似列表的形式返回字典中的值

字典元素的添加

  1. 利用赋值添加:d5['Mike']=23
  2. 利用setdefault添加:d5.setdefault('Mike',23)

字典元素值的查找

  1. 通过指定键查找:d5['Mike']
  2. 通过get查找:d5.get('Mike'),不存在时返回空值,而不是报错

字典值的修改

  1. 通过赋值修改:d5['Mike']=22,保证键存在,不然会新增元素
  2. 通过update修改:d5.update(d6)d5中的键存在则更新值,不存在则新建元素

字典元素删除

若删除的元素不存在,则报错

  1. 通过del删除:del(d5['Mike'])
  2. 通过pop删除:d5.pop('Marry')
  3. 通过popitem删除:d5.popitem()

字典的遍历

字典遍历可以对键值对、键、值进行遍历:

  1. 通过items遍历所有键值对:for item in d5.items():print(item),py2.x返回列表形式显示;py3.x返回dict_items对象方法+列表显示
  2. 通过inkeys遍历键:for gets in d5:print(gets)for gets in d5.keys():print(gets)
  3. 通过invalues()遍历值:for gets in d5:print(d5[gets])for gets in d5.values():print(gets)

字典的其他方法

  1. in成员操作:
  2. clear()方法:
  3. copy()方法:
  4. fromkeys()方法:

字典嵌套

字典嵌入字典

字典嵌入字典有以下优势:

  1. 可以很方便地体现数据之间的关系;
  2. 体现了字典记录数据的灵活性;

列表嵌入字典

字典嵌入列表

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值