字典详解

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

Python - dict 字典常见方法的更多相关文章

  1. python之字典及其方法---整理集

    字典 特点: 使用逗号分隔的key:value形式: 使用大括号括起来: key-value的键值对中,value部分可以是任意类型: 列表.字典不能做为字典的key: 字典是无序的,哪个key-va ...

  2. python,dict的setdefault方法

    @dict的setdefault方法 先看看文档中的解释 setdefault(...)    D.setdefault(k[,d]) -> D.get(k,d), also set D[k]= ...

  3. [Python] dict字典的浅复制与深复制

    Python中针对dict字典有两种复制: (1)浅复制:利用 copy() 或者 dict() :复制后对原dict的内部子对象(方括号[]内元素)进行操作时,由浅复制得到的dict会受该操作影响 ...

  4. Python dict字典方法完全攻略(全)

    我们知道,Python 字典的数据类型为 dict,我们可使用 dir(dict) 来查看该类型包含哪些方法,例如: >>> dir(dict)['clear', 'copy', ' ...

  5. python笔记-dict字典的方法2

    #!/usr/bin/env python #-*- coding:utf-8 -*- ''' 概述: 使用键值(key-value)存储,具有极快的查找速度 注意:字典是无序的 key的特性: 1. ...

  6. python笔记-dict字典的方法

    #!/usr/bin/env python #-*- coding:utf-8 -*- #打印0001-9999的数字 for i in range(9999): s = "%04d&quo ...

  7. python dict 字典

    字典是通过hash表的原理实现的,每个元素都是一个键值对,通过元素的键计算出一个唯一的哈希值,这个hash值决定了元素的地址,因此为了保证元素地址不一样,必须保证每个元素的键和对应的hash值是完全不 ...

  8. Python - dict 字典的多种遍历方式

    前置知识 for 循环详解:https://www.cnblogs.com/poloyy/p/15087053.html 使用 for key in dict 遍历字典 可以使用 for key in ...

  9. Python中字典get方法的使用

    Python中字典get方法的使用 说起来,这个功能是否需要学习还真是有待于讨论.其实,知道了字典这种数据结构以后,通过最基本的Python功能也能够实现一个类似的功能.不过,既然内置了这个功能那么我 ...

随机推荐

  1. python实现机器学习笔记

    #课程链接 https://www.imooc.com/video/20165 一.机器学习介绍以及环境部署 1.机器学习介绍及其原理 1)什么是人工智能 人工智能就其本质而言,是机器对人的思维信息过 ...

  2. 面试官:MySQL的可重复读级别能解决幻读问题吗?

    引言 之前在深入了解数据库理论的时候,了解到事务的不同隔离级别可能存在的问题.为了更好的理解所以在MySQL数据库中测试复现这些问题.关于脏读和不可重复读在相应的隔离级别下都很容易的复现了. 但是对于 ...

  3. 『言善信』Fiddler工具 — 16、使用Fiddler抓取移动端App请求

    目录 1.抓取Android移动端App请求 2.抓取IOS移动端App请求 3.总结: 1.抓取Android移动端App请求 前提: 因为Fiddler抓包的原理就是通过代理,所以确保被测终端要和 ...

  4. 【dog与lxy】8.25题解-necklace

    necklace 题目描述 可怜的dog最终还是难逃厄运,被迫于lxy签下城下之约.这时候lxy开始刁难dog. Lxy首先向dog炫耀起了自己的财富,他拿出了一段很长的项链.这个项链由n个珠子按顺序 ...

  5. CMD批处理(4)——批处理循环语句结构

    FOR函数,对一组文件批量执行命令,基本模式如下 1.文件搜索 for [/D] [/R [路径]] %%变量 in (集合) do (命令) 2.等差数列 for /L %%变量 in (开始,间隔 ...

  6. 关于 Windows 下 Qt 开发,这个问题必须要搞清楚!

    小伙伴们,大家好,小北师兄又来喂饭啦,从上次写完<一个例子让你秒懂 Qt Creator 编译原理>后,师兄对于 Qt 的一些环境配置有了更深的理解,这对师兄进行 Qt 的后续学习起到了很 ...

  7. Netty 框架学习 —— 预置的 ChannelHandler 和编解码器

    Netty 为许多提供了许多预置的编解码器和处理器,几乎可以开箱即用,减少了在烦琐事务上话费的时间和精力 空闲的连接和超时 检测空闲连接以及超时对于释放资源来说至关重要,Netty 特地为它提供了几个 ...

  8. 用python的matplotlib根据文件里面的数字画图像折线图

    思路:用open打开文件,再用a=filename.readlines()提取每行的数据作为列表的值,然后传递列表给matplotlib并引入对应库画出图像 代码实现:import matplotli ...

  9. kubernetes关闭基于角色的访问控制-匿名访问

    1.关闭基于角色的访问控制 如果正在使用一个带有RBAC机制的Kubernetes集群,服务账户可能不会被授权访问API服务器(或只有部分授权).目前最简单的方式就是运行下面的命令查询API服务器,从 ...

  10. 23、ORA-00439:DEFERRED_SEGMENT_CREATION 问题解决

    23.1.说明: 1. 众所周知,在清空表内所有数据时,truncate比delete要快很多,原因是,delete语句每次删除一行,都在事务日志中为所删除的每行记录一项. truncate通过释放存 ...