400-650-7353

精品课程

您所在的位置:首页 > IT干货资料 > python > 【Python基础知识】Python字典方法汇总(上)

【Python基础知识】Python字典方法汇总(上)

  • 发布: python培训
  • 来源:python干货资料
  • 2020-08-07 14:01:33
  • 阅读()
  • 分享
  • 手机端入口

字典是数据的无序集合,用于存储数据值。与其他仅将单个值作为项的数据类型不同,字典具有键-值对。字典中的键和值之间用冒号“:”分隔,而键-值对之间用逗号“,”分隔,所有键-值对用花括号“{}”括起来。字典的语法格式如下:

字典名 = {键1: 值1, 键2: 值2, …}

字典的工作方式类似于现实世界中的字典,字典的键必须是唯一的,并且是不可变的数据类型,如字符串、整数和元组,但是键的值可以重复,并且可以是任意类型。

下面介绍字典采用的主流方法。

1、setdefault()方法

字典的setdefault()方法用于指定一个键和一个值(键为第一个参数)。如果字典中存在指定的键,那么它和get()方法是等价的:

  1. >>> someone = {'name''Wang''age'19
  2. >>> someone.setdefault('age'35)   # 键'age'已存在,返回对应的值 
  3. 19 
  4. >>> someone   # someone字典并没有改变 
  5. {'name''Wang''age'19

如果字典中不存在指定的键,那么会在字典中添加键-值对:

  1. >>> someone = {'name''Wang''age'19
  2. >>> someone.setdefault('gender''female')   # 键'gender'不存在 
  3. 'female' 
  4. >>> someone   # someone字典中添加了'gender': 'female'键-值对 
  5. {'name''Wang''age'19'gender''female'

setdefault()方法也可以不指定“值”,即第二个参数为空,此时默认的“值”为None:

  1. >>> someone = {'name''Wang''age'19
  2. >>> someone.setdefault('gender')   # 未指定键-值对中的值 
  3. >>> someone   # 键'gender'的值为None 
  4. {'name''Wang''age'19'gender'None

2、keys()方法

字典的keys()方法用于返回该字典所有键的字典视图:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone.keys()   # 返回所有键的字典视图 
  3. dict_keys(['name''age''hobbies']) 

字典视图是一种特殊的类型,它可以迭代,这意味着可以用for循环迭代它:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> for key in someone.keys(): 
  3. ...     print(key) 
  4. ... 
  5. name 
  6. age 
  7. hobbies 

除了可迭代外,字典视图还有一个重要的特性,这也是它为什么被称为视图的原因。字典视图可以“实时”反映出字典当前的情况,当字典改变时,它的值也会随之改变(即使已经赋值给一个变量):

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone_keys = someone.keys()  # 先将keys()返回的值赋给变量 
  3. >>> someone_keys  
  4. dict_keys(['name''age''hobbies']) 
  5. >>> del someone['hobbies']   # 再删除'hobbies'键-值对 
  6. >>> someone_keys   # someone_keys的值也随之改变 
  7. dict_keys(['name''age']) 
  8. >>> someone['gender'] = 'male'   # 添加一个键-值对 
  9. >>> someone_keys   # someone_keys的值再次随之改变 
  10. dict_keys(['name''age''gender']) 

如果想要保存字典的状态,可以将字典视图复制到列表或元组中:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone_keys = list(someone.keys())  # 先使用list()将字典视图变成列表 
  3. >>> someone_keys 
  4. ['name''age''hobbies'
  5. >>> del someone['hobbies']   # 再删除'hobbies'键-值对 
  6. >>> someone_keys   # someone_keys的值并没有改变 
  7. ['name''age''hobbies'

3、values()方法

字典的values()方法与keys()方法类似,只是它返回的是该字典所有值的字典视图:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> someone.values()  # 返回所有值的字典视图 
  3. dict_values(['Wang'19, ['sing songs''dance''basketball']]) 

字典所有值的字典视图也可以迭代:

  1. >>> someone = {'name''Wang''age'19'hobbies': ['sing songs''dance''basketball']} 
  2. >>> for value in someone.values(): 
  3. ...     print(value) 
  4. ... 
  5. Wang 
  6. 19 
  7. ['sing songs''dance''basketball'

 

课程好礼申请领取
您的姓名
您的电话
意向课程
 

中公优就业

官方QQ

扫描上方二维码或点击一键加群,免费领取价值599元网课,加群暗号:599。 一键加群

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

推荐阅读

优就业:ujiuye

关注中公优就业官方微信

  • 关注微信回复关键词“大礼包”,领80G学习资料
QQ交流群
领取免费网课
(加群备注“网站”)
IT培训交流群 加入群聊 +
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
优就业官方微信
扫码回复关键词“大礼包”
领取80G学习资料

淘宝商家短视频
预约试听
2020OAO训练营
免费试听
课程资料、活动优惠 领取通道