字典详解

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. 天天写order by,你知道Mysql底层如何执行吗?

    在实际的开发中一定会碰到根据某个字段进行排序后来显示结果的需求,但是你真的理解order by在 Mysql 底层是如何执行的吗? 假设你要查询城市是苏州的所有人名字,并且按照姓名进行排序返回前 10 ...

  2. Oracle11g RAC详解

    升级变化:          Oracle10g,高版本都是由低版本升级得到的.要装10.2.0.4,必须先安装database10.2.0.1,然后给这个ORACLE_HOME打补丁p6180189 ...

  3. cmake使用笔记,一些常用的命令

    我的工程目录如下: │ CMakeLists.txt ├─cmake_tutorial │ CMakeLists.txt │ cmake_tutorial.cpp │ cmake_tutorial.h ...

  4. C#调百度通用翻译API翻译HALCON的示例描述

    目录 准备工作 参数简介 输入参数 输出参数 使用HttpClient 翻译工具类 应用:翻译HALCON的示例描述 准备工作 HALCON示例程序的描述部分一直是英文的,看起来很不方便.我决定汉化一 ...

  5. 并发王者课-铂金8:峡谷幽会-看CyclicBarrier如何跨越重峦叠嶂

    欢迎来到<并发王者课>,本文是该系列文章中的第21篇,铂金中的第8篇. 在上一篇文章中,我们介绍了CountDownLatch的用法.在协调多线程的开始和结束时,CountDownLatc ...

  6. SpringCloud:路由ZUUL的配置详解

    以下是两种配置文件的配置方式,可以根据需要选取对自己项目有利的配置. 自定义访问路径(path) 配置application.yml文件 #provider-user:是你的微服务模块的名称,及spr ...

  7. 3、集成springfox-swagger 3.0.0 + 集成knife4j

    集成springfox-swagger 3.0.0 + 集成knife4j 1.基本用法 1.1.导入依赖 <!-- web接口 --> <dependency> <gr ...

  8. cron表达式详解(转)

    Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1) Seconds Minutes Hours DayofMonth Mo ...

  9. npm run start失败&Node.js 查询指定端口运行情况及终止占用端口办法

    缘由: node.js项目中运行npm run start命令脚本报错,No such file or directory 最开始以为是命令脚本找不到所谓的执行路径,但后面发现不是,是package. ...

  10. YAOI Round #7 题解

    前言 比赛链接: Div.1 : http://47.110.12.131:9016/contest/16 Div.2 : http://47.110.12.131:9016/contest/15 D ...