字典详解
https://www.cnblogs.com/poloyy/p/15083781.html
get(key)
作用
指定键,获取对应值
两种传参
- dict.get(key):键存在则返回对应值,不存在则返回 None
- dict.get(key, default):键存在则返回对应值,不存在则返回设置好的 default 值
栗子
# get
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
}
print(book.get("title"))
print(book.get("books"))
print(book.get("books", "默认值")) # 输出结果
Python 入门基础
None
默认值
clear()
作用
清空字典所有键值对
栗子
# clear
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
} print(book)
book.clear()
print(book) # 输出结果
{'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社'}
{}
pop(key)
作用
- 指定键,移除对应的键值对,并返回值
- 键不存在,会报错
栗子
# pop
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
} print(book.pop("title"))
print(book) # 输出结果
Python 入门基础
{'author': '张三', 'press': '机械工业出版社'}
update()
作用
更新字典键值对
栗子一:传入的是字典
# update 栗子一
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
} book1 = {
"title": "Python 从入门到放弃"
} # 若传入字典的键是已存在的,则更新原有的值
book.update(book1)
print(book) book2 = {
"money": 119
}
# 若传入字典的键是不存在的,则添加新的键值对
book.update(book2)
print(book) # 输出结果
{'title': 'Python 从入门到放弃', 'author': '张三', 'press': '机械工业出版社'}
{'title': 'Python 从入门到放弃', 'author': '张三', 'press': '机械工业出版社', 'money': 119}
栗子二:传入的是 iterable
d = {'x': 2}
d.update([('y', 2), ('z', 3)])
print(d) # 输出结果
{'x': 2, 'y': 2, 'z': 3}
栗子三:传入的是关键字参数
d = {'x': 2} d.update(y=3, z=0)
print(d) # 输出结果
{'x': 2, 'y': 3, 'z': 0}
copy()
作用
将字典浅拷贝到另一个字典
栗子
# copy
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社',
'page': [1, 2, 3]
}
# 浅拷贝到新变量
book1 = book.copy()
print(book1) # 修改原来的字典对象
book['title'] = "入门到放弃" # 改字符串-不可变对象
book['page'][0] = 11 # 改数组-可变对象 print(book, book1) # 输出结果
{'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社', 'page': [1, 2, 3]}
{'title': '入门到放弃', 'author': '张三', 'press': '机械工业出版社', 'page': [11, 2, 3]} {'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社', 'page': [11, 2, 3]}
浅拷贝、深拷贝的区别
https://www.cnblogs.com/poloyy/p/15084277.html
items()
作用
- 返回字典中所有键值对 item
- 键值对 item 是一个元组,第 0 个元素是键,第 1 个元素是值
栗子
# items
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
} # 一个变量则是元组
for item in book.items():
print(item) # 两个变量则取元组第 0、1 位置的值
for key, value in book.items():
print(key, value) # 输出结果
('title', 'Python 入门基础')
('author', '张三')
('press', '机械工业出版社') title Python 入门基础
author 张三
press 机械工业出版社
keys()
作用
返回字典中所有的键
栗子
# keys
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
} for key in book.keys():
print(key) # 输出结果
title
author
press
values()
作用
返回字典中所有的值
栗子
# values
book = {
'title': 'Python 入门基础',
'author': '张三',
'press': '机械工业出版社'
} for value in book.values():
print(value) # 输出结果
Python 入门基础
张三
机械工业出版社