Python字典及基本操作(超级详细)
今天小张帮大家简单介绍下Python的一种数据结构: 字典,字典是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。
比如有份成绩表数据,语文:79,数学:80,英语:92,这组数据看上去像两个列表,但这两个列表的元素之间有一定的关联关系。
如果单纯使用两个列表来保存这组数据,则无法记录两组数据之间的关联关系。为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,
其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。形象地看,字典中 key 和 value 的关联关系如图 1 所示:

由于字典中的 key 是非常关键的数据,而且程序需要通过 key 来访问 value,因此字典中的 key 不允许重复。
一.介绍
1.定义
dict(字典),以{}表示,每一项用逗号隔开, 内部元素用key:value的形式来保存数据,例如
{"jj":"林俊杰", "jay":"周杰伦"}
2.原理
- 查询的效率非常高, 通过 key 来查找元素
- 内部使用 key 来计算一个内存地址,采用 hash 算法,并且 key 必须是不可变的数据类型(即为可哈希的数据类型)
- dict 保存的数据不是按照我们添加进去的顺序保存的. 是按照 hash 表的顺序保存的.而 hash 表不是连续的. 所以没有索引,不能进行切片工作. 它只能通过 key 来获取 dict 中的数据.
dic = {} # 空字典dic['徐峥'] = "人在囧途" #直接用key往里面存数据即可print(dic["徐峥"]) # 最好别怎么写,写成 print(dic.get("徐铮")),此时假入没有徐铮,程序也不会报错,会返回None
在这里顺便说下可哈希----可哈希就是不可变
- 已知的可哈希(不可变)的数据类型: int, str, tuple, bool
- 不可哈希(可变)的数据类型: list, dict, set 集合 此三类不能作为 key
二.字典的增、删、改、查
1. 字典的新增:
2. 删除
3. 修改
4. 查询
5. 其他操作
5.1 get 常用方法
5.2 keys()、 values()、 items()的用法
5.3 fromkeys 是一个类方法.作用是创建新字典
三 小技巧,骚操作
1.给定一个字典,然后计算它们所有数字值的和。
2.列表内字典去重
详细代码 扫面下方二维码观看

Python字典及基本操作(超级详细)的更多相关文章
- Python 字典(Dictionary) 基本操作
Python字典是一种可变容器模型,可存储任意类型对象:如字符串.数字.元组等.它以键值对(key-value)的形式存在,因此相当于Hashmap在python中的实现. §1. 创建字典 字典由 ...
- python字典的基本操作
字典的基本方法 什么是字典: 字典是一种 key - value的数据类型,听alex说就像我们上学用的字典,通过笔划,字母来查找对饮页面的详细内容. 语法: id_dict = { 'stu1101 ...
- Python: 字典的基本操作
字典是Python里唯一的映射类型.字典是可变的.无序的.大小可变的键值映射,有时候也称为散列表或关联数组. 例子在下面: dic = {"apple":2, "oran ...
- python字典的基本操作,以及可变数据类型和不可变数据类型的区分
字典:采用键值对存储数据的数据类型,字典的键必须是不可变的数据类型 补充: 不可变(可哈希)数据类型:str,bool,int,tuple 可变(不可哈希)数据类型:list, dict, set ...
- python之Python Eclipse+PyDec下载和安装教程(超级详细)
Eclipse 是著名的跨平台 IDE 工具,最初 Eclipse 是 IBM 支持开发的免费 Java 开发工具,2001 年 11 月贡献给开源社区,目前它由非盈利软件供应商联盟 Eclipse ...
- Python 字典(Dictionary)操作详解
Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...
- Python 字典方法
访问字典的值 字典中的 键/值 实际上就是一种映射关系,只要知道了 “键”,就肯定知道 “值”. >>> my_dict = dict(name = 'zhangsan',other ...
- Python字典和集合的内部实现
1. 哈希表(Hash tables) 在Python中,字典是通过哈希表实现的.也就是说,字典是一个数组,而数组的索引是经过哈希函数处理后得到的.哈希函数的目的是使键均匀地分布在数组中.由于不同的键 ...
- 【python】10分钟教你用python打造贪吃蛇超详细教程
10分钟教你用python打造贪吃蛇超详细教程 在家闲着没妹子约, 刚好最近又学了一下python,听说pygame挺好玩的.今天就在家研究一下, 弄了个贪吃蛇出来.希望大家喜欢. 先看程序效果: 0 ...
- 'dict_values' object does not support indexing, Python字典dict中由value查key
Python字典dict中由value查key 众所周知,字典dict最大的好处就是查找或插入的速度极快,并且不想列表list一样,随着key的增加越来越复杂.但是dict需要占用较大的内存空间,换句 ...
随机推荐
- ElasticSearch入门 第二篇
集群配置----------------------------- ElasticSearch共有两个配置文件,都位于config目录下,分别是elasticsearch.yml和logging.ym ...
- Spaghetti pg walkthrough Intermediate
nmap ┌──(root㉿kali)-[~] └─# nmap -p- -A 192.168.170.160 Starting Nmap 7.94SVN ( https://nmap.org ) a ...
- FunPapers[1]: GBDT和DNN强强联手,表格预测新突破!
Team up GBDTs and DNNs: Advancing Efficient and Effective Tabular Prediction with Tree-hybrid MLPs h ...
- C# 心跳检测实现
原文链接: https://blog.csdn.net/yupu56/article/details/72356700 TCP网络长连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以 ...
- c++中bitset的常见用法
C++ 中的 bitset 是一个用于处理固定大小位序列的模板类,提供高效的位操作功能.以下是对其关键特性的详细介绍: 1. 声明与初始化 头文件:需包含 <bitset>. 声明:bit ...
- [ABC297F] Minimum Bounding Box 2 题解
容斥真有趣. 有一个性质: 两个相同的子矩阵,对答案的贡献一定相同. 所以就只需要枚举矩阵大小即可. 我们设当前矩阵长 \(i\) 宽 \(j\)(对应的,\(H\) 为长,\(W\) 为宽),假如要 ...
- 替换JSONObject某个对象的值
有时候我们只想替换JSONObject某个对象的值,不想把所有对象的值都列出来.那就用for循环把所有的值重新赋值一遍.再单独给需要赋值的对象重新赋值 JSONObject itemObject = ...
- 【COM3D2Mod 制作教程(8)】实战!制作衣服部分(下)
[COM3D2Mod 制作教程(8)]实战!制作衣服部分(下) 制作袜子 Mod 体会了裙子 Mod 的制作流程,不知道你有没有被麻烦的权重和形态键搞崩溃过,现在做袜子难道还得在来一遍?而且裆下的权重 ...
- 公众号已上线 Ask AI 功能
Get新技能,给公众号接入AI智能体,没花一分钱. 不禁感慨这时代的进步也太快了,曾经科幻小说中描绘的未来已成现实! 下面是笔者在腾讯元宝中创建的智能体"鲸鱼小助手": 如果今后要 ...
- JAVA实现AES加密、解密
一.什么是AES? 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),是一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用. ...