Python入门教程+项目实战-12.2节: 字典的操作方法

这篇具有很好参考价值的文章主要介绍了Python入门教程+项目实战-12.2节: 字典的操作方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

12.2.1 字典的常用操作方法

12.2.2 字典的查找

12.2.3 字典的修改

12.2.4 字典的添加

12.2.5 字典的删除

12.2.6 知识要点

12.2.7 系统学习python


12.2.1 字典的常用操作方法

字典类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法,在本节的内容中,教同学们彻底掌握字典类型的常用操作方法。

Python入门教程+项目实战-12.2节: 字典的操作方法

字典的常用操作方法,主要有分为四类:字典的查找,字典的修改,字典的添加,字典的删除。

12.2.2 字典的查找

(1) 查找键名是否存在

查找方法:

1. key in dict  

2. key not in dict

key表示字典的键名,如果键名存在,则返回True,否则返回False。not in 表示是否不存在的意思。

代码实例:

Python

# __desc__ = 通过in操作符,查找键是否存在 

# 定义一个字典对象
book = {"name": "108节课彻底学通Python", "author": "薯条老师"} 
# 查找book中是否存在price的键名,如果存在则返回True
if "price" in book:  
    print("there is a key named price in book") 

# 通过not in 来查找键是否不存在,如果不存在则返回True
if "price" not in book:  
    print("there is no key named price in book")

(2) 查找键所对应的键值

查找方法:

1. dict[key]

key表示字典的键名,如果键名存在,会返回键值,如果键名不存在,则抛出异常。

2. dict.get(key, default=None)

key表示字典的键名,如果键名存在,会返回键值,如果键名不存在,则返回参数default指定的值。

操作符[]在列表和元组中用来进行索引访问和切片,在字典中,用来进行键值访问,修改键值,添加键值对。

代码实例:

Python

# __desc__ = 通过[]操作符来获取键值 
# 定义一个字典对象
book = {"name": "108节课彻底学通Python", "author": "薯条老师"} 

# 直接通过[]操作符获取键值
price = book["price"]
# 在执行上文代码时抛出异常,因为键名"price"并不存在 
# 可以先通过in操作来查找键名是否存在,来避免抛出异常
if "price" in book:  
   # 如果存在键名"price",则通过[]操作符获取键值  
   price = book["price"]

字典类型的get方法会先自动判断键名是否存在,避免了键名不存在时的错误异常。

代码实例:

Python

# __desc__ = 通过字典类型的get方法来获取键值 
# 定义一个字典对象
book = {"name": "108节课彻底学通Python", "author": "薯条老师"} 
# 执行get方法时,指定default参数的值为0
# 如果键名不存在,那么会返回在default参数中指定的值
price = book.get("price", 0) 
# price的输出为0

(1) 查找字典的所有键名

操作语法:

Python

dict.keys()

字典类型的keys方法返回的是一个dict_keys类型,dict_keys是一个可迭代对象,我们可以在for循环中进行遍历。

代码实例:

Python

# __desc__ = 通过字典类型的keys方法来获取所有键名 
# 定义一个字典对象
book = {"name": "108节课彻底学通Python", "author": "薯条老师"} 
# 在for循环中遍历字典的键值
for name in book.keys():  
    # name是一个变量,Python会自动将键名赋值给变量name  
    print(book[name]) 

"""程序的输出为:
"108节课彻底学通Python"
"薯条老师"
"""

可将dict_keys类型通过显示类型转换,转换为列表或元组类型。例如list(dict_keys)或者tuple(dict_keys)。同学们在进行学习的时候,要多进行发散性思考。

(2) 查找字典中的所有键值

操作语法:

Python

dict.values()

字典类型的values方法返回的是一个dict_values类型,dict_values是一个可迭代对象,同样可以在for循环中进行遍历。

代码实例:

Python

# __desc__ = 通过字典类型的values方法来获取所有键值 
# 定义一个字典对象 
book= {"name": "108节课彻底学通Python", "author": "薯条老师"} 

# 在for循环中遍历字典的键值
for value in book.values():  
    # value是一个变量,Python会自动将键值赋值给变量value  
    print(value) 

"""程序的输出为:
"108节课彻底学通Python"
"薯条老师"
"""

(5) 查找字典的所有键值对

在字典类型的keys与values方法中,只能单独地获取键名或键值。想必同学们会有这样的疑问,可不可以一次性获取键名和键值?

通过字典类型的items方法,可以返回字典中的键值对。字典类型的items方法返回的是一个dict_items类型。dict_items是一个可迭代对象,现在编写一段代码,在for循环中同时获取键名和键值。

代码实例:

Python

# __desc__ = 通过字典类型的items方法来获取键值对 
# 定义一个字典对象
book = {"name": "108节课彻底学通Python", "author": "薯条老师"} 

# 同学们须注意遍历键名与键值的语法
for name, value in book.items():  
    print(name, "-->", value)  

"""程序的输出为:
name-->108节课彻底学通Python
author-->薯条老师
"""

12.2.3 字典的修改

Python中字典的键是只读的,修改的是键名对应的键值。

(1) 修改字典的键值

操作语法:

Python

dict[key] = value

key表示键名,value表示键值。键名不存在时,会插入新的键值对。

代码实例:

Python

"""

12.2.4 字典的添加

(1) 操作符:[]

操作语法:

Python

dict[new_key] = value

new_key表示新的键名,value表示键值。

代码实例:

Python

# __desc__ = 通过操作符[]来添加新的键值对 
# 定义一个空的字典对象
book = {} 
book["author"] = "薯条老师"
# book的输出为{'author': '薯条老师'}

(2) dict.setdefault(key, default=None)

参数key表示键名,如果键存在,会返回键所对应的键值,否则添加一个新的键值对。通过参数default来指定新键的键值,返回值为键名所对应的键值,如果未指定键值,则返回值为None。

代码实例:

Python

# __desc__ = 通过setdefault方法来添加新的键值对 
# 定义一个空的字典对象
book = {} 
# 未通过default参数指定键值
returned_value = book.setdefault("author")
# returned_value的值为None
# book的输出为{'author': None} 


# 通过default参数指定键值
returned_value = book.setdefault("price", 66)
# returned_value的值为66
# book的输出为{'author': None, 'price': 66}

(3)dict.update(iterable)

iterable表示可迭代对象,传递的参数主要为字典类型,列表类型,元组类型,无返回值。通过字典对象来更新字典时,如果键名存在,则字典对象中键名的键值被更新为新的键值,如果键名不存在,添加新的键值对。通过列表,元组来更新字典时,列表/元组是二维的结构,具体可看代码实例。

代码实例:

Python

# __desc__ = 通过setdefault方法来添加新的键值对 
# 定义一个空的字典对象book = {} 
# 通过字典来更新字典
book.update({"name": "108节课彻底学通Python", "author": "薯条橙子"}) 
""" book的输出为:
{"name": "108节课彻底学通Python", "author": "薯条橙子"}
""" 

# 通过列表或元组来更新字典时,列表与元组是一个二维的结构
# Python会将元组中的第一个元素作为键名,第二个元素作为键值
# 元组中只存在一个数据项时,不要遗漏逗号
book.update((("price", 69),)) 
""" book的输出为:
{"name": "108节课彻底学通Python", "author": "薯条橙子", "price": 69}
"""

12.2.5 字典的删除

(1) dict.pop(key)

pop方法用来删除指定的键,待删除的键必须存在于字典对象中,否则会抛出键名不存在的错误异常,返回值为键名对应的键值。

代码实例:

Python

# __desc__ = 通过pop方法来删除键 
book = {"name": "108节课彻底学通Python", "author": "薯条老师"} 
# 删除键时,可以先通过in操作符来判断键名是否存在 
if "price" in book:  
    # 如果存在price键,就执行pop方法来删除  
    # 返回值为键名所对应的键值  
    price = book.pop("price")

(2) dict.popitem()

popitem方法用来删除字典中的键值对,默认删除字典末尾的键值对。方法的返回值为一个元组,元组的第一个元素为键名,第二个元素为键值。

代码实例:

Python

# __desc__ = 通过popitem方法来删除键值对 
book = {"name": "108节课彻底学通Python", "author": "薯条老师"} 
# popitem方法的返回值为元组类型
item = book.popitem() 

# 元组的第一个元素为键名,第二个元素为键值
# 可通过索引来进行访问, 索引编号为0的是键名,编号为1的是键值
name = item[0]
value = item[1]

# 也可以利用元组的自动解包来赋值
name, value = item

(3) dict.clear()

通过字典类型的clear方法来一键删除字典中的所有键,无返回值

代码实例:

Python

# __desc__ = 通过clear方法来清空字典 
book = {"name": "108节课彻底学通Python", "author": "薯条老师"} 
# 执行clear方法来清空字典book.clear()
# 执行clear方法后,book的输出为{}

12.2.6 知识要点

(1) 字典的常用操作方法,主要有分为四类:字典的查找,字典的修改,字典的添加,字典的删除。

(2) 字操作符[]在列表和元组中用来进行索引访问和切片,在字典中,用来进行键值访问,修改键值,添加键值对。

12.2.7 系统学习python

 薯条老师简介:资深技术专家,技术作家,著有《Python零基础入门指南》,《Java零基础入门指南》等技术教程。薯条老师的博客:http://www.chipscoco.com, 系统学习后端,爬虫,数据分析,机器学习、量化投资。文章来源地址https://www.toymoban.com/news/detail-442282.html

到了这里,关于Python入门教程+项目实战-12.2节: 字典的操作方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python入门教程+项目实战-11.4节: 元组与列表的区别

    目录 11.4.1 不可变数据类型 11.4.2 可变数据类型 11.4.3 元组与列表的区别 11.4.4 知识要点 11.4.5 系统学习python 不可变数据类型是指不可以对该数据类型进行修改,即只读的数据类型。迄今为止学过的不可变数据类型有字符串,元组。 在使用[]操作符对字符串,元组进行修改时

    2024年02月01日
    浏览(56)
  • 全网最全Pytest框架使用教程和项目实战~从入门到精通

    pytest是一个非常成熟的python单元测试框架,比unittest更灵活、更容易上手 pytest可以和selenium、requests、appinum结合实现web自动化、接口自动化、app自动化 pytest可以是实现测试用例的跳过以及reruns失败用例重试 pytest可以和aliure生成非常美观的测试报告 pytest可以和jenkins持续集成

    2024年02月06日
    浏览(47)
  • QCC51XX-QCC30XX系列开发教程(实战篇) 之 12.2-空间音频架构

    查看全部教程开发请点击:全网最全-QCC51xx-QCC30xx(TWS)系列从入门到精通开发教程汇总(持续更新中) ==================================================================== 版权归作者所有,未经允许,请勿转载。 ==========================================

    2024年02月07日
    浏览(59)
  • 【Android入门到项目实战-- 9.5】—— 陀螺仪传感器的详细使用教程

    目录 陀螺仪传感器 1、基础知识  2、实战使用         返回x、y、z轴的角加速度数据。         水平逆时针旋转,z轴为正,顺时针为负;         向左旋转,y轴为负,向右旋转,y为正;         向上旋转,x为负,向下旋转,x为正。 修改activity_main.xml代码如下:

    2024年02月12日
    浏览(54)
  • CMake入门教程【实战篇】使用开源库cmake-modules简化项目开发与维护

    本教程介绍了rpavlik/cmake-modules,一个CMake模块集合,旨在简化和优化CMakeLists.txt文件的编写和维护工作。该集合尤其对虚拟现实和物理模拟包的开发者有用,同时也包含通用实用模块和针对旧版CMake的补丁或解决方案。 项目托管在GitHub上,可通过链接访问:rpavlik/cmake-modules 查

    2024年01月15日
    浏览(50)
  • python pytorch教程-带你从入门到实战(代码全部可运行)

    其实这个教程以前博主写过一次,不过,这回再写一次,打算内容写的多一点,由浅入深,然后加入一些实践案例。 下面是我们的内容目录: 1.先从数据类型谈起 1.1 如何生成pytorch的各种数据类型? 1.2 pytorch的各种数据类型有哪些属性? 1.3 pytorch的各种数据类型有哪些函数操

    2024年02月13日
    浏览(45)
  • 从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

      Django是目前比较火爆的框架,之前有在知乎刷到,很多毕业生进入大厂实习后因为不会git和Django框架3天就被踢掉了,因为他们很难把自己的工作融入到整个组的工作中。因此,我尝试自学Django并整理出如下笔记。   在这部分,我将从Django的安装讲起,从创建项目到制

    2024年02月09日
    浏览(72)
  • 《黑马程序员2023新版黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战项目》学习笔记总目录

    本文是对《黑马程序员新版大数据入门到实战教程》所有知识点的笔记进行总结分类。 学习视频:黑马程序员新版大数据 学习时总结的学习笔记以及思维导图会在后续更新,请敬请期待。 前言:配置三台虚拟机,为集群做准备(该篇章请到原视频进行观看,不在文章内详细

    2024年02月03日
    浏览(70)
  • ESP8266入门教程12:自动配网

    下载第三方库WiFiManager到lib文件夹  ​git clone https://github.com/tzapu/WiFiManager.git 第2行:包含WiFiManager库的头文件 第12行:创建WiFiManager对象 第14行:配置自动配网热点名称 1、编译并上传固件,然后使用手机连接名称叫做“ESP8266-Auto”的WIFI热点 2、点击【Configure WiFi】开始配网,

    2024年02月12日
    浏览(54)
  • WPF真入门教程12--ListView控件

           ListView 控件在Windows应用程序中常用,用于表示数据列表。如果您以前使用过 WinForms,那么您对ListView的实用性有一个很好的了解,但您应该意识到 WPF中的ListView 不像WinForms版本那样使用。再一次的主要区别在于,虽然WinForms ListView只是调用Windows API 函数来呈现常见的

    2024年02月04日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包