Python基础教程——一次搞懂 Python 字典!Python字典的20种神奇用法

Python 字典(Dictionary)是数据结构中的一种重要类型。它以键值对的形式存储数据,具有快速查找的特性。今天我们将通过生动有趣的案例,来探讨字典的20个经典操作,帮助大家深入理解和掌握这些概念。

1. 创建字典

字典可以通过花括号 {}dict() 函数来创建。

# 使用花括号创建   
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}      
# 使用 dict() 函数创建   
my_dict = dict(name='Alice', age=25, city='New York')

2. 访问字典元素

通过键来访问字典中的值。

name = my_dict['name']   
print(name)  
# 输出: Alice

3. 添加或更新元素

通过键来添加或更新字典中的值。

my_dict['email'] = 'alice@example.com'  
# 添加新元素   
my_dict['age'] = 26  
# 更新已有元素   print(my_dict)

4. 删除元素

使用 del 语句或 pop() 方法来删除字典中的元素。

# 使用 del 语句   
del my_dict['city']      
# 使用 pop() 方法   
age = my_dict.pop('age')   
print(my_dict)   
print(age)  
# 输出: 26

5. 检查键是否存在

使用 in 关键字来检查字典中是否存在某个键。

if 'name' in my_dict:       
print('Name exists in the dictionary')

6. 获取字典的长度

使用 len() 函数来获取字典中的键值对数量。

length = len(my_dict)  
print(length)  
# 输出: 2

7. 遍历字典

可以使用 for 循环来遍历字典的键、值或键值对。

# 遍历键   
for key in my_dict:       
print(key)      
# 遍历值   
for value in my_dict.values():       
print(value)      
# 遍历键值对   
for key, value in my_dict.items():       
print(f'{key}: {value}')

8. 合并字典

使用 update() 方法来合并两个字典。

dict1 = {'a': 1, 'b': 2}   
dict2 = {'b': 3, 'c': 4}   
dict1.update(dict2)   
print(dict1)  
# 输出: {'a': 1, 'b': 3, 'c': 4}

9. 字典推导式

通过字典推导式来创建字典。

squares = {x: x*x for x in range(6)}   
print(squares)  
# 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

10. 获取所有键

使用 keys() 方法来获取字典中的所有键。

keys = my_dict.keys()   
print(keys)

11. 获取所有值

使用 values() 方法来获取字典中的所有值。

values = my_dict.values()  
print(values)

12. 获取所有键值对

使用 items() 方法来获取字典中的所有键值对。

items = my_dict.items()   
print(items)

13. 从字典中获取值

使用 get() 方法来安全地获取字典中的值,如果键不存在,则返回默认值。

name = my_dict.get('name', 'Unknown')   
print(name)  
# 输出: Alice   
nickname = my_dict.get('nickname', 'Unknown')   
print(nickname)  
# 输出: Unknown

14. 设置默认值

使用 setdefault() 方法来获取字典中的值,如果键不存在则设置默认值。

nickname = my_dict.setdefault('nickname', 'Alice')   
print(my_dict)

15. 清空字典

使用 clear() 方法来清空字典中的所有元素。

my_dict.clear()   
print(my_dict)  
# 输出: {}

16. 字典复制

使用 copy() 方法来创建字典的浅拷贝。

new_dict = my_dict.copy()   
print(new_dict)

17. 从keys创建字典

使用 fromkeys() 方法创建一个新的字典,其中的键来自于一个序列,值为提供的默认值。

keys = ['name', 'age', 'city']   
new_dict = dict.fromkeys(keys, 'unknown')   
print(new_dict)  
# 输出: {'name': 'unknown', 'age': 'unknown', 'city': 'unknown'}

18. 字典视图对象

字典的 keys(), values(), items() 方法返回的都是视图对象,这些对象会随着字典的变化而变化。

keys_view = my_dict.keys()   
print(keys_view)   
my_dict['age'] = 30   
print(keys_view)  
# 输出包含更新后的键

19. 排序字典

使用 sorted() 函数对字典的键或值进行排序。

sorted_keys = sorted(my_dict.keys())   
sorted_values = sorted(my_dict.values())   
print(sorted_keys)   
print(sorted_values)

20. 字典合并的新方法(Python 3.9+)

在Python 3.9及以上版本,可以使用 | 运算符来合并字典。

dict1 = {'a': 1, 'b': 2}   
dict2 = {'b': 3, 'c': 4}   
merged_dict = dict1 | dict2   
print(merged_dict)  
# 输出: {'a': 1, 'b': 3, 'c': 4}

通过以上20个经典操作,相信大家对Python字典的使用有了更深入的了解和掌握。在实际编程中,灵活运用这些操作,可以大大提高代码的简洁性和效率。希望这篇文章能够帮助你更好地理解和使用Python字典!

如果分享你的信息,对你有用!别忘了三连击哦——点赞、收藏、关注!

最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/38626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python从0到100(三十四):Python中的urllib模块使用指南

1. urllib模块概述 在Python中,除了广泛使用的requests模块之外,urllib模块也是处理HTTP请求的重要工具。urllib模块在Python 2中分为urllib和urllib2两个模块,而在Python 3中,它们被合并为一个urllib模块。本文将重点介绍Python…

java字符集 字符流字节流理解

字符集 GBK 汉字三个字节 英文一个字节 因为英文只有26个字母 加上标点符号一个字节标识 2的8次方够用汉字不够用 所以使用两个字节 在unicode中 UTf编码 汉语三个字节 英文一个字节 这里三个字节是因为所有的亚洲语言的文字都在这里标识,所以两个字节不够用 字符流…

【鸿蒙学习笔记】Column迭代完备

属性含义介绍 Column({ space: 10 }) {Row() {Text(文本描述).size({ width: 80%, height: 60 }).backgroundColor(Color.Red)}.width(90%).height(90).backgroundColor(Color.Yellow) } .width(100%) // 宽度 .height(200) // 高度 .backgroundColor(Color.Pink) // 背景色 .…

对仓颉语言的简单认识

【仓颉官网】 https://developer.huawei.com/consumer/cn/cangjie/ 仓颉是华为推出的一门编程语言,2019年投入研发2024年6月正式开启开发者预览,历经4年打磨终于面世。 仓颉的定位是面向全场景应用开发的现代编程语言,官方出具的白皮书显示…

pcap包常见拆分方法

文章目录 Wireshark 拆分流量包SplitCap使用简介魔数报错示例结果 在进行流量分析时,经常需要分析pcap流量包。但是体积过大的流量包不容易直接分析,经常需要按照一定的规则把它拆分成小的数据包。 这里统一选择cic数据集里的Thursday-WorkingHours.pcap…

二、 操作系统知识(考点篇)

一、操作系统概述 操作系统定义: 能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。 操作系统有三个重要的作用: 第一&am…

Oracle SQL - CONNECT BY语句Where条件中不能使用OR?[已解决]

数据 SQL> SELECT * FROM demo_a;CUSTOMER TOTAL ---------- ---------- A 100200SQL> SELECT * FROM demo_b;CUSTOMER RN QTY ---------- ---------- ---------- A 1 30 A 2 …

java中的即时编译器:JIT

JIT的功能 如果不使用 JIT 编译器,Java 程序将会完全依赖解释器来执行字节码。 解释器会逐条解释并且将其转换为机器指令和执行 Java 字节码指令。 javac将源文件编译为class文件,class文件类加载到jvm中,jvm就使用解释器执行class文件&…

【办公软件使用分享—Word篇】实用技巧 一学就会 沈阳电脑办公软件基础培训

在平时的工作学习中,Word真真是让很多人头疼的一件事,今天给大家分享20个案例,感受下Word真正的力量! 1.插入自动目录 没有目录的文档不是一份合格的文档,很多人认为在Word里插入目录是一件很麻烦的事,其…

Soul打造安全社交元宇宙环境,全力守护用户线上社交安全

在数字化时代的浪潮中,智能安全线上社交正成为人们日常生活中的重要组成部分。随着人们对社交媒体和在线平台依赖程度的不断增加,保障个人信息安全和网络安全变得至关重要。在此背景下,社交平台致力于采取多种措施来保障用户的隐私安全,提升社交体验的质量和安全性。而Soul全方…

微软Edge浏览器全解析的理解

作为一名前端技术大佬,以下是对微软 Edge 浏览器更详细的全面解析: 使用技巧: 可以通过设置特定的快捷键来快速执行常用操作,比如快速刷新、打开新标签等,进一步提升效率。利用分组标签功能,将相关的网页归…

链式访问:C语言中的函数调用技巧

链式访问:C语言中的函数调用技巧 在C语言编程中,链式访问(chained calls)是一个常见的编程技巧,它允许你在一行代码中连续调用多个函数或方法。这种技巧不仅能够让代码更加简洁和易读,还能减少临时变量的使…

咖啡消费旺季到来 为何想转让的库迪联营商却越来越多

文 | 智能相对论 作者 | 霖霖 去年还在朝“三年万店”计划狂奔的库迪,今年已出现明显“失速”。 早在今年2月,库迪就官宣其门店数已超过7000家,如今4个多月过去,据极海品牌监测数据显示,截至6月27日,其总…

手机空号过滤的多种应用场景

手机空号过滤的应用场景主要涵盖以下几个方面,以下是对其应用场景的清晰归纳和分点表示: 电话营销场景: 在电话营销中,使用空号过滤技术可以显著提高营销效率。通过筛选有效手机号码,避免拨打无效号码,每次…

python passlib库的基本用法的初步封装

参考官方文档:https://passlib.readthedocs.io/en/stable/ 基本用法 from passlib.hash import pbkdf2_sha256hash pbkdf2_sha256.hash("toomanysecrets") print(pbkdf2_sha256.verify("toomanysecrets", hash)) print(pbkdf2_sha256.verify…

[Shell编程学习路线]——shell脚本中case语句多分支选择详解

🏡作者主页:点击! 🛠️Shell编程专栏:点击! ⏰️创作时间:2024年6月21日16点30分 🀄️文章质量:95分 ————前言———— 在Shell编程中,处理多种条件…

基于人脸68特征点识别的美颜算法(一) 大眼算法 C++

1、加载一张原图&#xff0c;并识别人脸的68个特征点 cv::Mat img cv::imread("5.jpg");// 人脸68特征点的识别函数vector<Point2f> points_vec dectectFace68(img);// 大眼效果函数Mat dst0 on_BigEye(800, img, points_vec);2、函数 vector<Point2f&g…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-38实战Kaggle比赛:图像分类 (CIFAR-10)

38实战Kaggle比赛&#xff1a;图像分类 (CIFAR-10) 比赛链接&#xff1a;CIFAR-10 - Object Recognition in Images | Kaggle 导入包 import os import glob import pandas as pd import numpy as np import torch import torchvision from torch.utils.data import Dataset…

【算法题】最大子序和

题 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a; nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#xf…

R语言数据分析案例39-合肥市AQI聚类和多元线性回归

一、研究背景 随着全球工业化和城市化的迅速发展&#xff0c;空气污染问题日益凸显&#xff0c;已成为影响人类健康和环境质量的重大挑战。空气污染不仅会引发呼吸系统、心血管系统等多种疾病&#xff0c;还会对生态系统造成不可逆转的损害。因此&#xff0c;空气质量的监测和…