| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> python基础第四节 -> 正文阅读 |
|
[Python知识库]python基础第四节 |
字典字典是键值对的无序可变序列,键对象:值对象 列表、字典、集合这些可变对象,不能作为键,并且键不可重复 值可以是任意的数据,并且可重复 字典的创建 通过{} 花括号创建,通过dict() 来创建字典对象 a = {'name':'yzy','age':'28'} b = dict(name='yzy',age='28') c = dict([("name","yzy"),("age","28")]} 通过zip()函数 d = dict(zip(k,v))? k 键 v 值 通过fromkeys 创建值为空None的字典 字典添加元素 新增键值对,如果键已经存在则覆盖,不存在则新建 使用update() 将新字典中所有简直对全部添加到旧字典对象上,如果key有重复则直接覆盖 元素删除 del()? ?clear() 删除所有键值对 pop()返回对应的“值对象” popitem() 随机删除和返回键值对? .get(键)来获取字典中的值 序列解包 序列解包可以用于元组、列表、字典,可以方便的对多个变量赋值 序列解包默认是对键进行操作,对键值对操作需要使用item() 对值操作用values() 字典核心底层原理 字典对象的核心是散列表,散列表是一个稀疏数组(总是有空白元素的数组),数组的每个单元叫做bucket,每个bucket由两部分,一个是键对象的引用,一个是值对象的引用 可以通过偏移量来读取指定bucket hash()计算哈希值 ?根据键查找键值对的底层过程 计算对象的散列值 根据数组长度确定取散列值末尾的多少位数字作为偏移量 用法总结:键必须可散列,数字、字符串、元组都是可以散列的 自定义对象需要支持hash()函数,支持通过__eq__()方法检测相等行 字典中在内存开销巨大,空间换时间 查询速度很快 不要在遍历字典的同时修改字典? 先遍历,把需要的数据取出来再修改 集合 集合是无序可变,元素不能重叠,集合底层是字典实现,集合的所有元素都是字典中的键对象,因此是不能重复的 使用{}创建集合对象,并使用add()方法添加元素。 使用set() 将列表元祖等可迭代对象转成集合,如果原来数据存在重复则只保留一个。 remove() 删除指定元素,clear() 清空整个集合 集合相关操作主要有并集交集和差集 控制语句 条件表达式中不能有赋值操作符? =? ?应该用== 三元条件运算符 条件为真时的值? if (条件表达式) else 条件为假时的值? 选择结构嵌套 注意控制好不同级别代码块的缩进量
循环结构 while 循环体里面的语句至少应该包含改变条件表达式的语句,使循环趋于结束,否则就会变成一个死循环 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 0:03:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |