前面学习的变量,数据类型(整型,浮点数,布尔),序列(字符串,列表,元祖,字典,集合)
,可以看做是数据的组织方式。数据可以看做是“砖块”!
流程控制语句是代码的组织方式,可以看做是“混凝土”
一个完整的程序,离不开“砖块”,也离不开“混凝土”他们的组合,才能让我们创建从小到“一个方法”
大到“操作系统”,这样各种的“软件”
第三十二节 列表-特点-内存分析
常用的序列结构有:
字符串,列表,元祖,字典,集合
一个字符串是一个字符序列,一个列表是任何元素的序列
第三十三节 创建列表
这里的range(开始,结束,步长)这里的range是用逗号隔开的
四种方法 创建 列表推导式 range放在list中会自己迭代
好像都会自己迭代喔,list
list() 这不就是转成列表吗 转成列表对象
第三十四节 插入的时候,会涉及大量的拷贝 效率太低了 所以
一般我们在尾部添加 五中添加方法 append,insert,extend,乘法
运算符
第三十五节 元素删除的三种方式,本质是数组拷贝
del a[1] 无返回值 pop(可以选择索引)返回删除元素 默认最后一个
a.remove(20)删除首次出现的,不存在抛出异常
删除和增加都是一样的道理的 都是拷贝移动位置的
第三十六节 元素访问 下标 次数统计 成员资格判断 in count也可以的
超过索引范围会报错的 a.index(20,3,5)
a.count() len()
第三十七节 切片slice操作
怎么记住切片的负数呢,一样的只是从后面开始数,他是从负一开始的的
数到第一个参数,然后又往回数第二个参数,还是不要包含第二个参数
只有步长为负数的时候,结果才是倒序的 -2怎么办 就是倒序的步长为2
起始小于终止时会返回空[]
第三十八 列表排序 逆序 max min sum
id打印内存地址 Node 就是没有返回值呀
sorted()是有返回值的 三种修改原列表,不新建列表的排序
random.shuffle a.sort(reverse = True) 是没有返回值的
不修改的有 sorted reversed
第三十九 二维列表 表格数据的存储和读取
用于表格的多吧 到此列表字符串看完 有了点低了 这应该比以前更有印象了
第四十节 创建的两种方式
元祖与数组的差别:
列表属亍可发序列,可以仸意修改列表中癿元素。元组属亍丌可发序列,丌能修改元组中癿
元素。因此,元组没有增加元素、修改元素、初除元素相兰癿方法。我们叧需要学习元组癿创建和初除,元组中元素癿讵问和计数即可
元祖建好之后就不能动了,插入什么的都不行
创建方法 a =() a = tuple("a,b,c")
和数组一样的,都是可以传入可迭代对象,然后会迭代出来,生成元祖
删除元祖 del a
第四十一节 元素访问,计数 切片
访问和切片跟列表是一样的 都是[] 排序这个不论你sorted()传的是列表还是
元祖 都会生成一个新的列表 zip 压缩
第四十二节 生成器推导式创建元祖
使用的是小括号 推导生成的是一个生成器对象
通过这个转化成列表或者元祖 生成器对象的__next__()
只能遍历一次 用__next__()挨个去移动指针 for in 就是指针的移动
整型,字符串也是不可变的
第四十三节 字典
键值对,应该要注意和json的关系 还是一样字符串一定要记得“”
然后键和值是通过 : 这个隔开的
列表,元祖,字典,最基础的创建方式 { } a = dict()这是括号
是括号的 因为要调用方法 底层也是数组 到底是逗号,分号还是等于号
有意思啊 字典的创建有这么多
第四十四节 元素的访问,键 值访问
不存在,会抛异常, 而a.get('sex','yigeren') 就比较灵活
所有键值对,值,键,的表示 遍历字典 a.items()
检测键是否在字典中
第四十五节 元素的添加,修改,删除
字典无序可变序列,因此没有第一元素和最后元素的概念
a.update(b) del(a['name']) a.pop('age') 返回值的
存在好像都会覆盖的 a.clear
第四十六节 序列解包用于列表元祖字典
序列解包可以用于元祖,列表,字典。序列解包可以让我们
方便的对多个变量赋值 序列解包 键值对输出也可以这样
a[0] a[1]
第四十七节 列表和字典综合嵌套
任何数据都可以用表格来表示
第四十八节 核心底层原理 内存分析 存储键值对过程
字典对象的核心是散列表 散列表是一个稀疏数组
bucket 表元 桶 如何把一个k对应成一个索引数字
用bin(hash("name")) 求散列值 以此去最右边的三个数的十进制
数字中有值之后就下一个三个数 这是假设字典创建的之后数组为八
还会自动扩容大于三分之二时
第四十九节 ------------------------ ---------- -查找对象过程
第五十节 集合创建删除,交集并集差集运算
集合是无序可变,元素不能重复,实际山底层是字典实现,集合的所有元素
都是字典中的“键对象”,因此不能重复的且唯一的