Python - dict 字典常见方法

时间:2022-12-10 05:40:25

字典详解

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 入门基础
张三
机械工业出版社