网站首页 > 技术文章 正文
## 字典的基本结构
字典是关联数组或映射的别称,通过散列表实现。其主要由键值对组成,如:{key: value, }。列表中的值通过整数索引进行访问,也就是元素在列表中的位置,而字典中的值则通过关联的键进行访问。列表的创建如下:x = [],而字典则通过:y = {}。列表不允许对不存在的元素赋值,如:x[0] = 'a',而字典则可以:y[0] = 'a'。字典可使用非整数键来存储和使用数据,而列表则只能通过整数索引,如:y['hello'] = 'world'。
列表和字段的值可以为任意类型,但列表只能使用整数对值进行索引,而字典则可使用任何不可变的,可散列的对象,如字符串,frozenset等。元组虽然是不可变的,但当其包含了可变元素时会导致散列的结果变化,如元组的元素为列表或者字典,这时元组不可作为键,而元组只包含不可变的元素时,可作为字典的键,如:(1, 'a',)。
## 字典的基本操作
上面简单介绍了字典的创建,赋值和访问,此外字典还支持很多其他操作,可通过:python -m pydoc -p2222,然后访问:
localhost:2222/builtins.html#dict,进行查看。常用的有:len(dict)返回字典条目数量;dict.keys()获取字典所有的键;values获取字典中所有的值;items返回字典中所有的键值对;del删除字典中指定条目;in判断某个键是否在字典中存在;get返回字典中指定键关联的值,如不存在则返回None或返回函数第二个参数指定的值;copy返回字典的浅拷贝,如需深拷贝,需要导入copy.deepcopy进行复制;update使用参数字典中的键值对更新调用者的键值对。更多操作可访问库文档查看。
## 字典的应用
后续数据分析和深度学习相关的内容中会大量涉及矩阵运算,当对矩阵进行存储的时候,如果大量节点的数值都为0,此时的矩阵被称之为稀疏矩阵,可使用字典只存储那些少量的非零节点,如:{(0, 0): 1, (3, 3): 5},这样就可以节省大量的存储空间。另外,当某个计算结果需要大量重复使用,但计算过程比较复杂耗时,或者需要消耗大量的网络或者IO的时候,可以计算一次之后,使用字段将结果缓存起来,在整个过程中重复使用。其实,大型应用中的redis之类的缓存系统就是起这个作用的。另外,spark计算平台也是通过类似的思想对hadoop的分布式计算过程的中间结果进行缓存和重复使用进行优化的。后续也都会针对相关内容进行介绍,敬请期待。
"橙汁数据"(微信公众号),长期关注大数据的收集处理与分析,深度学习与人工智能应用,如有大数据或智能应用相关业务,欢迎关注"橙汁数据"(微信公众号)洽谈咨询;
猜你喜欢
- 2025-03-23 Python 基础教程五之Python3 字典
- 2025-03-23 Python之容器:字典(dict)就是哈希表换个马甲?
- 2025-03-23 Python字典的使用和方法(python 字典用法)
- 2025-03-23 经典|Python字典的11个方法超级详解
- 2025-03-23 Python 字典的实用技巧(python字典的基本操作菜鸟教程)
- 2025-03-23 Python学习(七)字典的创建及常用操作详解
- 2025-03-23 python字典中如何添加键值对(python字典中可以添加新的键-值)
- 2025-03-23 一文掌握Python的字典(python的字典怎么用)
- 2025-03-23 Python之字典(Dictionary)(python 字典)
- 2025-03-23 Python 字典(Dictionary):高效数据映射的强大工具
- 265℃Python短文,Python中的嵌套条件语句(六)
- 264℃python笔记:for循环嵌套。end=""的作用,图形打印
- 263℃PythonNet:实现Python与.Net代码相互调用!
- 257℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 257℃Python实现字符串小写转大写并写入文件
- 117℃原来2025是完美的平方年,一起探索六种平方的算吧
- 97℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 90℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
-
- 金母鸡量化教学场:pandas—数据挖掘的Python库
- 分享一个用于商业决策数据挖掘的python案例
- Python图像识别实战(二):批量图像读取和像素转换(附源码)
- 从小白到大神,这10个超实用的 Python 编程技巧不可少
- 太震撼!527页战略级Python机器学习实战,实用度碾压群书!附PDF
- 一篇文章带你解析Python进程(一篇文章带你解析python进程怎么写)
- 大数据分析师如何进行数据挖掘?大数据分析师丨 2025 年报考攻略
- UG编程第34节:浅谈机床坐标系(ug编程机床坐标系细节)
- 想入门Python?先狠下心来死磕这7个方向
- Python大屏看板最全教程之Pyecharts图表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)