python字典:揭秘无序元素的奥秘之旅

news2024/11/25 8:20:07

在这里插入图片描述

前言

在编程中,数据的组织和管理是一个关键的方面。对于处理和操作数据,Python 提供了许多强大的数据结构,其中最常用和灵活的之一就是字典(Dictionary)。

无论您是初学者还是有经验的开发者,掌握字典的基本知识是非常重要的。本博客将带您进入字典的世界,深入了解其基本概念和使用方法。

在本博客中,我们将探讨以下关键内容:

  1. 字典的定义与特点:了解字典是什么,它的特点和为什么它是一种有用的数据结构。我们将介绍字典的基本语法和定义方式。

  2. 字典的基本操作:学习如何添加、访问和修改字典中的元素。我们将演示如何使用键和值来操作字典,并介绍如何删除不需要的元素。

  3. 字典的常见用途:了解字典在实际编程中的应用场景。无论是存储配置信息、处理API响应还是构建复杂的数据结构,字典都可以起到至关重要的作用。

  4. 字典的高级特性:探索字典的更多功能,如遍历字典、查找键或值、排序字典等。我们将介绍一些字典的高级技巧,帮助您更好地应用字典在实际项目中。

希望这篇博客能够帮助您更好地理解和应用Python字典,提升您的编程技能。让我们一起开始这个有趣而富有挑战的学习之旅吧!🚗🚗🚗

什么是 python 字典

提到字典,大家第一个想到的肯定就是这个:
在这里插入图片描述
那么既然 python字典 也叫字典,它肯定跟字典有一定的关系,我们可以通过拼音或者偏旁找到某个字,而 python字典 也是如此,通过关键字 key 也可以找到对应的value值。

Python字典是一种可变、可迭代且无序的数据结构,用于存储键-值对的集合。它提供了一种灵活的方式来组织和访问数据。

与其他数据类型(如列表或元组)不同,字典是通过键来索引和访问值,而不是通过位置。每个键都必须是唯一的,而值可以是任意的数据类型(例如整数、字符串、列表等)。

字典在Python中的定义使用花括号 {} ,键和值之间使用冒号 : 进行分隔,键-值对之间使用逗号 , 分隔。

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
print(type(dict1))

在这里插入图片描述

创建空字典
当我们想要创建空字典的时候,有两种方式:1.dict1 = {} ,2.dict2 = dict()

dict2 = {}
dict3 = dict()
print(dict2)
print(dict3)

在这里插入图片描述

字典常见的操作

1)增加数据

字典序列[key] = value值
当字典中存在 key 时,则会将之前的 value值进行修改,如果不存在,则就会新增一堆键 - 值。

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
dict1['tel'] = '1234567890'
print(dict1)

在这里插入图片描述

2)删除数据

del 字典序列[key] / del(字典序列[key])

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
del dict1['gender']
print(dict1)

在这里插入图片描述

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
del(dict1['gender'])
print(dict1)

在这里插入图片描述
当删除的数据字典中不存在时,会报错

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
del dict1['tel']

在这里插入图片描述
clear() 清空字典

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
dict1.clear()
print(dict1)

在这里插入图片描述

3)修改数据

字典序列[key] = 修改的值
修改数据的操作跟新增数据的操作是一样的。

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
dict1['name'] = 'lisi'
print(dict1)

在这里插入图片描述

4)查找数据

🫥 1.通过字典序列[key]查找

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
print(dict1['name'])

在这里插入图片描述

😶‍🌫️ 2.get(key,默认值)

字典序列.get(key,默认值)
当字典中含有key,则返回对应的value值,如果不存在,则返回第二个参数,第二个参数默认为None。

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
print(dict1.get('name'))
print(dict1.get('tel'))
print(dict1.get('tel','0123'))

在这里插入图片描述

🥶 3.keys()

keys() 方法会以 dict_keys[key1,key2,key3,...] 的形式返回字典的所有key

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
print(dict1.keys())

在这里插入图片描述

👹 4.values()

values() 方法会以 dict_values[value1,value2,value3,...] 的形式返回字典的所有value值。

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
print(dict1.values())

在这里插入图片描述

🤩 5.items()

items() 方法会以 dict_items[(key1,value1),(key2,value2),(key3,value3),...] 的形式返回字典的键值对。

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
print(dict1.items())

在这里插入图片描述

遍历字典的元素

前面的查操作返回的序列都是可迭代的序列,所以我们可以通过循环的方式来遍历字典中的元素。

1)遍历字典的key

for 临时变量 in 字典序列.keys()

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
for key in dict1.keys():
    print(key)

在这里插入图片描述

2)遍历字典的value

for 临时变量 in 字典序列.value()

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
for value in dict1.values():
    print(value)

在这里插入图片描述

3)遍历字典的元素

for 临时变量 in 字典序列.items()

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
for item in dict1.items():
    print(item)

在这里插入图片描述

4)遍历字典的键值对

for 临时变量1,临时变量2 in 字典序列.items()

dict1 = {'name':'zhangsan','age':18,'gender':'man'}
for key,value in dict1.items():
    print(f'{key}={value}')

在这里插入图片描述

感谢大家的观看,希望能够帮助到大家,如果有错误,欢迎指正,也欢迎大家订阅我的python学习专栏🌹🌹🌹

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

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

相关文章

解决PyInstaller打包selenium脚本时弹出driver终端窗口

解决PyInstaller打包selenium脚本时弹出driver终端窗口 找到service.py C:\Users\XXX\AppData\Roaming\Python\Python39\site-packages\selenium\webdriver\common\service.py添加creationflags 在第77行添加: creationflags134217728使用PyInstaller打包 pyinstaller -F -w -…

8.2.3 【Linux】xz, xzcat/xzmore/xzless/xzgrep

8.3 打包指令: tar 8.3.1 tar 其实最简单的使用 tar 就只要记忆下面的方式即可: 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称 查 询:tar -jtv -f filename.tar.bz2 解压缩:tar -jxv -f filename…

Lesson2-1:OpenCV基本操作

图像的基础操作 学习目标 掌握图像的读取和保存方法能够使用OpenCV在图像上绘制几何图形能够访问图像的像素能够获取图像的属性,并进行通道的分离和合并能够实现颜色空间的变换 1 图像的IO操作 这里我们会给大家介绍如何读取图像,如何显示图像和如何…

uniapp-设置全屏

需求&#xff1a;就是想要小程序不受限制&#xff0c;可以把图片或者文字全屏的展示&#xff0c;如下图 vue代码如下&#xff1a; <template><view class"content"><image class"image-bg" src"/static/logo.png" /><imag…

Python GUI编程利器:Tkinker中的微调节器和滑块(6)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 和猫妹学Python&#xff0c;一起趣味学编程。 今日目标 实现下面效果&#xff1a; 微调节器(Spinbox类) 微调节器可以通过箭头调整所需的数值。 创建微调节器对象语法格式…

ChatGPT助力校招----面试问题分享(十)

1 ChatGPT每日一题&#xff1a;阻抗匹配的方法有哪些 问题&#xff1a;阻抗匹配是什么 ChatGPT&#xff1a;阻抗匹配是一种电路设计技术&#xff0c;用于确保电路中各个组件之间的电阻、电感和电容等参数相互匹配&#xff0c;以最大程度地传输信号或功率 当阻抗不匹配时&…

7/2~7/4学习成果总结

这几天初步的了解了一下Java&#xff0c;然后写了几道题&#xff1a; 下面总结一下学Java的时候遇到的一易错的小问题以及总结&#xff1a; 1. java里面只能在一个源文件里有一个public类&#xff0c;但是入口main那个可以理解为public static是一个整体也就是不属于public&a…

『C/C++养成计划』C++中的静态库和动态库|GCC|Makefile|CMake学习

C中的静态库和动态库|GCC|Makefile|CMake学习&#xff01; 文章目录 一. 什么是库二. 静态库1.1. 静态库生成1.2. 静态库制作举例1.2.1 准备测试程序1.2.2 生成静态库 1.3. 静态库的使用 三. 动态库3.1. 为什么需要动态库3.2. 生成动态链接库3.3. 动态库制作举例3.4. 动态库的…

【JUC并发编程】Callable接口创建线程

一、介绍 与继承Thread类和实现Runnable接口两种创建线程方式的区别 ① Callable接口可以有返回值 ② Callable接口可以抛出异常 ③ 执行方法不同&#xff0c;call()方法和run()方法 二、代码演示 继承Thread类和实现Runnable接口的方式创建线程 package callable;import java…

celery Periodic Tasks 周期任务

celery Periodic Tasks 周期任务 https://docs.celeryq.dev/en/latest/userguide/periodic-tasks.html /home/mike/work/celery-5.3.1/examples/periodic-tasks myapp.py """myapp.pyUsage::# The worker service reacts to messages by executing tasks.(w…

pip安装指定包,找不到如何解决?

背景&#xff1a;现如今&#xff0c;在跑神经网络的时候&#xff0c;需要配置一些开源项目从而需要指定一些特定环境是必不可少的一个步骤&#xff0c;但是很多时候使用pip安装包的时候&#xff0c;总是找不到需要的版本。比如&#xff0c;今天需要配置open3d 0.15.1版本的环境…

群晖 nas 升级内存 手记(DS423+)

题外话&#xff1a; 我原来用的是群晖DS218&#xff0c;也用了5年了&#xff0c;今年5月份突然不能开机了&#xff0c;感觉故障不大&#xff0c;群晖官方又不好联系&#xff0c;非常麻烦。只好邮递到北京一家所谓的维修群晖的维修点&#xff0c;他们说维修费最多不超过200元&am…

Visual studio 快捷键(个人记录加深印象)

1、CtrlK 后 Ctrlx 插入代码片段快捷键&#xff08;或 编辑”>“IntelliSense”>“插入代码片段&#xff09; 注&#xff08;摘抄&#xff09;&#xff1a;该列表包含用于创建类、构造函数、for 循环、if 或 switch 语句等的代码片段

java定义数组的三种类型总结

三种定义数组的格式如下&#xff1a; int[] arr1new int[10]; int[] arr2{1,2,3,6}; int[] arr3new int[]{1,2,3,4,5,6,7,22}; 注意&#xff1a;数组的length是一个属性&#xff0c;而字符串的length()是一个方法了&#xff01;&#xff01;&#xff01;虽然都是求的他们各…

自定义 MVC 框架思想

目录 一、MVC设计模式 1. 什么是MVC 2. 三层架构与MVC的区别 二、自定义MVC框架 1. 为什么要学习自定义MVC框架 2. 自定义MVC的工作原理 3. 自定义MVC框架的优势 三、自定义MVC实例流程 1. mvc三层架构的弊端 2. 自定义MVC的工作流程 2.1 子控制器&#xff08;…

【flutter滑动拼图验证码】

Java后台使用aj_captcha插件&#xff0c;提供/captcha/get&#xff08;获取captcha底图和拼块图片&#xff09;、/captcha/check&#xff08;验证拼图偏移量&#xff09;这两个接口。并且这个插件在GitHub上有源码。 1.先准备好aj_captcha的工具类&#xff1a; import dart:co…

Linux指令与权限

本期我们来学习Linux的权限内容 目录 Linux权限 1.认识Linux下用户的分类 2.什么是权限 3.没有权限是什么现象 4.权限的修改问题 chmod chown chgrp umask 粘滞位 file指令 我们在使用xshell登录后&#xff0c;会有下面的东西 我们来介绍一下&#xff0c;以我的登录…

19. WebGPU —计算着色器(compute shader)

WebGPU 是即将推出的 Web API&#xff0c;可提供对GPU的底层控制并用于通用目的计算任务 。 我对计算机图形不是很有经验。我通过阅读有关如何使用 OpenGL 构建游戏引擎的教程了解了 WebGL 的点点滴滴&#xff0c;并通过观看 Inigo Quilez 在 ShaderToy 上仅使用着色器而不使用…

最长连续序列

题目链接 最长连续序列 题目描述 注意点 0 < nums.length < 100000不要求序列元素在原数组中连续 解答思路 要想实现时间复杂度为 O(n) 的算法解决此问题&#xff0c;关键是数字不能多次遍历&#xff0c;所以首先要对数组进行去重&#xff1b;然后为什么防止某个元素…

NSS [HNCTF 2022 WEEK2]ez_ssrf

NSS [HNCTF 2022 WEEK2]ez_ssrf 先拿dirsearch扫一下。 访问/flag.php 访问/index.php 应该是从index.php传参,ssrf然后访问到flag.php。 因此构造poc.php: <?php $out "GET /flag.php HTTP/1.1\r\n"; $out . "Host: 127.0.0.1\r\n"; $out . "…