2019.4.14 python基础30

前面学习的变量数据类型(整型,浮点数,布尔),序列(字符串,列表,元祖,字典,集合)

,可以看做是数据的组织方式。数据可以看做是“砖块”

流程控制语句是代码的组织方式,可以看做是“混凝土

一个完整的程序,离不开“砖块”,也离不开“混凝土”他们的组合,才能让我们创建从小到“一个方法”
大到“操作系统”,这样各种的“软件”

第三十二节  列表-特点-内存分析

      常用的序列结构有:

      字符串,列表,元祖,字典,集合

      一个字符串是一个字符序列,一个列表是任何元素的序列

第三十三节  创建列表 

      这里的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"))  求散列值  以此去最右边的三个数的十进制

      数字中有值之后就下一个三个数  这是假设字典创建的之后数组为八  

      还会自动扩容大于三分之二时

第四十九节   ------------------------ ---------- -查找对象过程

第五十节    集合创建删除,交集并集差集运算

     集合是无序可变,元素不能重复,实际山底层是字典实现,集合的所有元素

     都是字典中的“键对象”,因此不能重复的且唯一的

      

原文地址:https://www.cnblogs.com/Py-king/p/10707981.html