【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']

THE END  

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

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部