Python - dict 字典常见方法

字典详解

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

 

posted @ 2021-07-31 17:59  小菠萝测试笔记  阅读(294)  评论(0编辑  收藏  举报