zoukankan      html  css  js  c++  java
  • 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"))  求散列值  以此去最右边的三个数的十进制

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

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

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

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

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

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

          

  • 相关阅读:
    Spring 09 : AOP实例
    Spring08 AOP概念
    Spring 07 : 动态代理
    Spring06 Spring+Junit
    Spring05 : 基于注解的IOC
    Spring03 : 依赖注入
    jupyter修改python核(使用不同的python虚拟环境)
    线性代数的本质——引入几何视角
    图像的去雾与加雾
    从MATLAB看一个IDE应该具有的素质
  • 原文地址:https://www.cnblogs.com/Py-king/p/10707981.html
Copyright © 2011-2022 走看看