00:00
好,我们回家上节课,有加法,有乘法,还有缝和中括号里面有小括号是吧?原来如果中括号里面的中括号,那是列表里的列表,那是二维列表,那中括号里面的小括号意味着什么呢?那我们想了解小括号还得从熟悉的开始,从中括号开始。一个中括号它是什么类型的呢?我们可以看到它是一个list,那么小括号又是什么类型的呢?我们看到他说是tapp是吧,他什么叫ta?我们单个的叫single。3倍的叫double 3倍的叫triple 4倍quad 5倍呢cle。那它其实都是po po po的po是什么意思啊,就是背,就是英文来自plus,那官方说它是什么意思,我们对着他喊救命,这个里面写的是一个beauty and the imutable的sequence。这个挺眼熟,Built in imutable sequence三个事儿,那我们再查一查list,它是built in theutable的sequence。
01:08
Mutable是什么意思?说把这个音量给它变没了,就叫什么呀,就把它MU掉了。可以谬掉,它是说明这个音轨是可以改变的,所以叫MU+I'M,就是表示否定impossible不可能的,Moral不道德的,Imortal不死的,不朽的,所以immuntable就是不可改变。按Q退出小括号括起来的这个东西和列表是一模一样是吧?这是一个二元组,这是一个三元,有3个item,甚至里面可以有什么有字符。那这个元组可以嵌套吗?比如说列表我们知道是可以嵌套的,这个里面是什么?1斗2斗3斗4得到这个T,这个T其实就是一个嵌套的元组。
02:01
T的第0个元素是1 T的第一个元素是2 T的第二个元素是3~4,是个元组,是元素,所以它可以再往下,就跟列表的嵌套是一个原理。是是一个原理,它列表很像,但列表它是什么?是muteable,也就是说我们中括号的0逗1它会怎么样?它这个列表可以设置它的第0项,它第0项是0,我说它第0项是1,一改完了之后就是一逗一了。原组我们看一下,它是0~1,找到它第0下可以读取,但是你要想给他写一个值,他说type a类型错误,Type object does not support aem assignment, 元组对象不支持这些元组象的赋值,不管是写法还是用法都跟列表是完全一样的。
03:00
都是内建的序列,但是一个可变,一个不可变。查询一下,如果他没有。给参数,那么它的构造函数返回一个空的元组,这什么意思呢?说T等于什么?D=top,这是构造函数,构造函数里边没有任何的东西,那么T是什么?一对小括号?它的Les是0。这是返回了一个空原组。那它里面不是空,我们可以看到它如果呃里面描述了一个可迭代的对象,那么这个元组就被初始化使用这些可迭代对象的项目。具体来说,什么是可迭代对象呢?我们看一下说T等于什么替代一个ta里面要是什么呢?可以迭代的是o easy一个字符串,什么叫可迭代呢?OE这个字符串呢?是一个可迭代的对象,把它当参数传给tapple,那么它就返回一个元组,它这个元组里面是oea sy就是。
04:05
五个字符作为这个元组的元组,像或者我们再换一个可迭代对象是什么,是range什么范围5以内的范围,0、1234这个五个数字作为元组下形成了一个元组。还有一种情况就是可迭代对象,我们选列表0逗1,这个是一个列表,把列表里面的列表项做成了一个的元组,像哎,那就说白了就是把列表转成了元组,那元组可以转成列表吗?小括号里面0~1是不是L就出来了?L甚至可以等于什么等于list t, 那L是不是也可以相当于把一个元组转成了列表,也可以把列表转成元组?这俩说白了就是一个可变一个不可变,那列表的方法元组都能用吗?试试说L点摁两下tap有这么多方法,但是。
05:02
TT点它有两个方法,一个是count,一个是index,这俩方法什么意思呢?我们喊救命去。T里面去观察一下。CTRLF, 找到最后的这个位置count,它统计的是。一个值的次数。Index统计的是一个值的位置,这是两种统计方法,它不能修改,所以它是两种统计方法。那我们现在让这个元组初始化一下,用谁初始化呢?OEZ2Z。那么t.counttt里头总共有几个A?直接写A是不行的,双引号引起来的A有一个A是不是?确实这儿只有一个A,那T里面有几个1?这里面没有1,所以0个1,那T里面有几个OT里面有两个O,这儿有一个O,这有一个OO1Z o2Z 2个O。这个就是统计,统计,那如果说T复杂点,T等于什么,T=0~1~2~3,那么这个T它其实是一个元组的嵌套,T里面有几个0,有一个0,有一个1,他有没有2,没有2,如明这儿有2,那可不是有2。
06:21
他有的是什么呀?它有的是二斗三,它有几个二斗三,它有一个二斗三是吧?它有一个二斗三,也就是说你这个T0是0 t1是1。T2是什么呀?是2~3,谁里头有2啊,T2里边有2。是不是T2里面有2。有一个2,但是你说T里面有没有二,没有2,一个两个三个,三个元素里面没有2这个元素。所以这个容器里面你想找2,你得点进去,在容器里边再找到2,那从T这个层面看,它就是一个0,数字0,一个数字1,还有一个容器,那我们再看indext.indext.index什么呢?我们看看这个O,它所对应的引,那现在没有,我们还得让T等于谁啊?T是什么呢?是这么一个东西。
07:18
t.indexo是什么样的情况呢?是0什么意思?第0个位置零号位是O。那不不从零号位开始,零号位往后从一号位开始,第5个012345,第5个是这个O是吧,帮助里面写的很清楚。要搜的值,开始的位置,还有结束的位置,那帮助里还说什么呢?我们继续看这个Apple的这个帮助。初始化函数一种是没给参数,第二种是可迭代对象作为参数,第三种如果这个参数是一个tale,拿元组初始化元组会怎么样呢?返回的是同一个对象。
08:02
这怎么理解呢?我们看T等于一个0逗1。那T1是什么呢?是0~1,它有没有内存地址?他70592。这个时候我让T2=ta什么ta t1,这个ta拿T1去初始化T2 T2是什么T2,那肯定数值是这个指向的位置T70592,所以T1的位置其实就是T2的位置。那就是说他们两个是同一个。元组是吧,同一个元组,那么再来看一下索引初始化,一个T是什么?是一个tale里面放什么?放一个range range什么呢?RANGE10以内,这是T是从0~90个数字。10个数字,那T0就是0 t1就是1 T4就是4。T1貌四是什么?一二三从一开始到四结束,要一不要4,所以123前面不控制了,就是冒4。
09:10
后边儿不控制了,就是衣帽。从一开始到到最后,前面后边都不控制是什么?是0~9 0~9,那这个时候我如果是一冒冒3,这是什么意思?一开始不长为三。直接跳到这儿,44+3=7 7+3=10,没有10,直接跳过去了,这一步就跨出去了,所以是147,那我不从一开始,我从4开始,就是474+3=7,再往上是10 10就跳过去了。那我不从4开始,从3开始到10结束是吧,369 369,我又不想要9了,怎么办呢?那我乖。就呃,就到9结束,那就是三六,不管是索引还是切片原则呀,都跟这个列表是完全相同的,而且切片出来的结果呢,仍然是一个圆组。
10:10
那我们这回呢,学的这个东西叫元祖,这个元祖是什么?是一种内建的不可变的序列。那既然有了列表,为什么还要有元祖呢?我们下次再说o ez交枪。
我来说两句