◎知识点
字典的"查"操作
字典的"改"操作
字典的"增"操作
字典的"删"操作
为字典中指定的key设置默认的value值
◎脚本练习
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@FileName: dict_operator.py
@Function: dict operator
@Author: Zhihe An
@Site: https://chegva.com
@Time: 2021/6/28
"""
"""一、字典的"查"操作"""
"""
如果想在字典中根据指定的key查找对应的value,常见的方式有两种:
1、使用中括号
"""
d = {'name': 'Jack', 'age': 18}
print(d['name']) # Jack
# 如果字典中不存在指定的key,抛出KeyError
# print(d['gender']) # KeyError: 'gender'
"""
2、调用方法get
"""
print(d.get('name')) # Jack
# 如果字典中不存在指定的key,并不会抛出KeyError,而是返回None
print(d.get('gender')) # None
"""
可以通过参数设置默认的value,以便在字典中不存在指定的key时将其返回
"""
print(d.get('gender', '男')) # 男
"""
此外,可以使用运算符in(not)检查字典中是否存在(不存在)指定的key
"""
print('age' in d) # True
print('gender' in d) # False
print('age' not in d) # False
print('gender' not in d) # True
"""二、字典的"改"操作"""
"""
如果想要修改字典中指定的key对应的value,常见的方式有两种:
1、为已经存在的key赋予一个新的value值(一次只修改一个key对应的value)
"""
d = {'name': 'Jack', 'age': 18, 'gender': '男'}
d['age'] = 20
print(d) # {'name': 'Jack', 'age': 20, 'gender': '男'}
"""
2、调用方法update(一次至少修改一个key对应的value)
"""
d = {'name': 'Jack', 'age': 18, 'gender': '男'}
# d.update({'name': 'Mike', 'age': 20})
# d.update([('name', 'Mike'), ('age', 20)])
d.update(name = 'Mike', age = 20)
print(d) # {'name': 'Mike', 'age': 20, 'gender': '男'}
"""三、字典的"增"操作"""
"""
如果想要往字典中添加key-value时,常见的方式有两种:
1、为不存在的key赋予一个value值(一次只添加一个key-value对)
"""
d = {'name': 'Jack', 'age': 18}
d['gender'] = '男'
print(d) # {'name': 'Jack', 'age': 18, 'gender': '男'}
"""
二、调用方法update(一次至少添加一个key-value对)
"""
d = {'name': 'Jack', 'age': 18}
# d.update({'gender': '男', 'score': 90})
# d.update([('gender', '男'), ('score', 90)])
d.update(gender = '男', score = 90)
print(d) # {'name': 'Jack', 'age': 18, 'gender': '男', 'score': 90}
"""四、字典的"删"操作"""
"""
如果想要删除字典中的key-value对,常见的方式有四种:
1、调用方法pop(一次只删除一个指定key的key-value对)
该方法返回指定的key对应的value
"""
d = {'name': 'Jack', 'age': 18, 'gender': '男'}
print(d.pop('age')) # 18
print(d) # {'name': 'Jack', 'gender': '男'}
# 如果指定的key不存在,抛出KeyError
# d.pop('score') # KeyError: 'score'
# 为了防止指定的key不存在时抛出KeyError,可以通过参数指定一个默认返回的value
print(d.pop('score', 90)) # 90
"""
2、使用del语句(一次只删除一个指定key的key-value对)
"""
d = {'name': 'Jack', 'age': 18, 'gender': '男'}
del d['age']
print(d) # {'name': 'Jack', 'gender': '男'}
"""
3、调用方法popitem(一次只删除一个任意的key-value对)
该方法返回被删除的key-value对
"""
d = {'name': 'Jack', 'age': 18, 'gender': '男'}
print(d.popitem()) # ('gender', '男')
print(d) # {'name': 'Jack', 'age': 18}
"""
4、调用方法clear清空字典
"""
d = {'name': 'Jack', 'age': 18, 'gender': '男'}
d.clear()
print(d) # {}
"""五、为字典中指定的key设置默认的value值"""
"""
为了确保字典中指定的key总是存在的,可以调用方法setdefault,这样,
(1) 如果字典中存在指定的key,该方法返回指定的key对应的value,字典不发生变化
(2) 如果字典中不存在指定的key,该方法返回指定的默认value的值,字典中添加一个key-value对:
"指定的key:指定的默认value值"。此时,调用方法setdefault相当于语句:if...not in...
"""
d = {'name': 'Jack'}
print(d.setdefault('name', 'defaultName')) # Jack
print(d) # {'name': 'Jack'}
d = {}
print(d.setdefault('name', 'defaultName')) # defaultName
print(d) # {'name': 'defaultName'}
if 'name' not in d:
d['name'] = 'defaultName'
Python