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'

 

文章“【Python基础知识】Python字典方法汇总(上)”已帮助

>>本文地址:https://www.ujiuye.com/zhuanye/2020/51513.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME