00:00
大家好,我是小B。这节课我们继续讲。泡款式中的咋那种器?或者叫三大数据结构。上节课我们讲了三大容器,或者是三大数据结构分别是什么?怎么样创建list record和table?容器。这节课到我们讲。三大容器的一个生化,那什么是生化呢?啊,我们讲三大容器的生化。这个生化这个词其实有点难以理解啊,生化有点难以理解,嗯。在power中,生化这个词呢,我们可以理解为取出容器中的元素,可以理解为取出容器中的元素啊,比如说它是一个list,那么我们可以取出list里边的。
01:07
各个元素。Con也是一样。那么如果是table的话。我们也可以取出。里边的元素table一般由行和列来组成,那我们可以取行,也可以取列啊,也可以取列。或者我们行业可以一块来取。那第一个我们先看一下list。列表中的元素生化啊,或者我们直接叫取出也行啊,我直接叫取出也行这个例子。我们在。Power中新建一个工查询。然后呢,里边,比如说我们输入一到十的一个数字的一个列表。那在这个列表里边。
02:04
一共有十个数啊,一共有十个数。然后比如说我们要取出它其中的某一个数啊,某一个数,比如说取出三。我们来看一下三啊。一共有有十个数,那其实我们就是取出第三个数,从123啊取出第三个数,但是我我们来看一下啊,在列列表中取出一个数的时候,我们通常在list列表后边写一个大括号,里边写数字,这个数字呢表示啊,表示的是什么?表示的是这个list。列表中元素的位置或者缩影,或者叫序号也行啊,比如说三处于第三个啊,第三个位置。比如说我们里边输入三,看它会返回什么啊,返回什么,原则上它应该返回三,但是它返回了四啊,返回了四,这是为什么呢?在power中,我们所有的索引默认都是从零开始,默认都是从零开始,也就是。
03:10
第一行这个序号为零,第二行为一,第三行为二,以此类推啊,所以这里边我们要取第三行的数据啊,第三个元素我们的这个生化的这个缩影值应该是二对不对,应该是二,来看一下啊,来看一下是合适的对吧。那我们在这想一想这个。公式的意思呢,就是取出list元素和list列表中的第三个元素,那需要注意的是什么呢?需要注意的是在。Power中啊,默认的索引。
04:03
值,或者通俗的讲序号值。一般。是从零开始,比如第三个元素。啊,比如第三个元素的位置。就是。二好。还有一个的生化。使使用一个大括号,在大括号中。输入。元素对应的索引值。即可啊即可,这是我们在list列表里边来深化啊,生化元素或者说叫取出元素,那第二个我们再来看一下con里边。
05:05
记录里边。元素生化。啊,或者叫取出在讲这个之前呢,我还有个问题啊给大家呃补充一下。比如说我们在这个里边,现在取出了第三个元素啊,一共有十个元素,假如说我要取出啊,这个这个缩影值呢,我写的比较大了,因为十个元素,那么它最大位置是九对不对?你看一下啊,最大位置是九,假如我在这里边儿给它写一个十,它会怎么样?他会报错啊,他会报错。告诉我。告诉我们。啊,弹出的这个消息说每举中没有足够的元素完成操作,这是为什么啊?这是因为在我们的这个列列列表中呢,一共有十个元素,但是我们要取第11个元素,那肯定是没有的,比如我口袋里有十个糖啊,有十个糖,但是呢,你非要。
06:13
啊,取出11个糖啊,第11个糖来啊,抱歉我没有那么多的糖啊,供你来取出没,没有这么多糖供你去取出的时候,那我。给你报一个错啊,报一个错,但是呢。总不能说啊,这个错误一直就留在这儿,那有没有什么方法呢啊,有方法是有的啊,比如说我在这输一个问号。然后它会返回那儿值告诉你,我口袋里没有这么多的糖啊,没有这么多的糖。所以这里边需要注意的一点是,生化的时候,我们生化的元素的缩影值。
07:02
啊,索引值应该小于或者。等于list列表中元素的数量。否则会。弹出报错报错的窗口啊。这点一定要注意。当我们要深化的时候,我们一定要。这个缩影值一定要。小于或者等于list列表中的元素的个数啊,比如说这里边儿有十个元素,你非要取出11个,那么它会报错啊。报错的时候呢,我们可以在。缩影值的。打括号的。
08:01
后面啊,呃,跟一个。问号。对吧,给一个问号,英文状态下的问号。此时呢好,此时呢会。跟我们返回个那儿值返回一个。那相当于容错。啊,容错。告诉我们。你要的元素里边儿没有这么。这么大的一个元素啊啊,没有没有多余的了,我我最多给你能拿到第十个元素。拿不到第11个元素,所以我会告诉你。这里边儿是那只,我没有糖已经给你给了啊,是这个意思。然后list里边呢,我元素的取出啊,我给大家讲了,接下来我们再看一个里边。元素是如何生化的?
09:01
好,我这里边儿新建一个。空查询,比如说我就地来写一个recon。对吧,A等于一。然后呢,B等于二。然后C等于三。我们来看一下。我们在上节课中讲了。Record里边每个逗号分成一组,这个组里边,每个小组里边它有一个标题和对应的一个值,比如说这里的ABC就是标题,123就是ABC所对应的一个值。在上节课中我们也说了。啊,我们也说了。Con作为一条记录来说,相当于表中的一行,那它的标题呢?相当于表中的一列。那123,比如说像这里的123这种值呢,它相当于这一行标题所对应的一个值啊,所对应的值,那么比如说我把这里。
10:08
我们把这里边儿的ABC想象成三例啊,想象成三令。比如说。我在这儿给大家演示一下啊。呃,比如说呢,我在这里边插入一个表格,现在呢,有这个三行两列,对不对。B和C,然后对应的值呢?是,是多少一。二三啊,这是我们这个类似于我们刚才创建的一个list啊,类似于我们刚才创建的一个list。上述的表格。类似于我们新创建的一个list啊,一个康说错了啊,图啊,我们。
11:06
我们可以把这个上述的这个表格理解,理解成呃,一个转制的一个过程,我们可以将上述。的表格理解为一个转之后的表。转之后的表。比如说是这样的。对吧,比如说这样的,呃,现在呢,是是多少呢是。A。BC对不对,它对应的是123。这一行呢,我们可以删掉了啊。那con生化的时候我们说过,生化就相当于取出这个容器中的元素啊,取出这个容器中的元素,比如说我们现在要取出这个元素中的。
12:01
A啊A。呃。取出。把这个粘过来。调一下吧。对吧,然后呢,我们想要取出什么来,取出上述抗中的A。啊,那我们怎么写呢。生化的时候,我们开始啊。对吧,因为我们说过recon是一对这个中括号,中括号来表示啊,中括号来表示,我们可以在recon后边写一个中括号,里边写上它的标题的名称就行了,比如说A对不对,比如说A,它就把A对A列对应的这个值给取出来了啊,对应的这个值就取出来了,比如说这个部分。
13:12
对吧,所以我们可以总总结一下康里边。生化的时候使用的是一个中括号,在中括号里边呢,我们写的是什么,写的是。瑞康的标题名啊,瑞康的标题名对吧。那有人说了,我在这里边有ABC,一共有三个标题,对不对,一共有三个标题,那我想要把这三个标题其中啊A和B都给它取出来啊,同时取出来,那这个时候怎么办呢。这个时候呢,我们再深化对不对,先把大括号啊,中括号写上,然后呢,里边写它的。
14:02
标题名。啊,比如说标题面,那刚才说了,但是我直角能不能写成逗号B呢,我们看一下这显然是不行的啊,显然是不行的。也就是说这种方法是不可取的啊,不可取的,如果在。Record里面生化。啊,同时生化A与B对不对。上述的方法是不正确的,那么正确的是什么呢?正确的是我们改A和B,再改一个中括号啊,再给一个中括号,这样的话相当于我在中括号里边写了两个元素,对不对?两个元素来看一下,这就是正确的对吧?这就正确的,这样的话我们就深化出来啊,一定要在中括号里边,再把它对应的标题以中括号的形式写出来,这样子就合适了。
15:09
这样子就合适了,对吧。这是如果record里边我要深化多个标题对应的值的时候,我可以这样使用,也可以这样使用,那第三个。第三种生化就是table中元素的生化啊,Table中元素的生化。那table表中其实很很容易了,比如说我这里边导出了一个啊一个表啊,导出了一个表,我们说了生化就相当于拿出这个容容器中的行列。啊行列。对不对,那table呢,它是由行和列组成的,那我们拿,比如说拿一行啊,拿一行生化一行的话,你看它出来的结果呢,是一个con对不对,假如我拿哪一列啊,假如哪一列是不是当前能看到的只有这个这一列对不对,那在表中呢?比如说我们生化啊,我们生化的时候,我们可以先用操作来使啊。
16:21
比如我现在生化这个元素,它肯定是行和列都给你会生化出来,对不对,行和列,你看行和列都生化出来了,但是我们一步一步来啊,我们一步一步来,比如说我现在要深化这个。这个表中的产品ID的这个列对不对,拿出一列啊,也就是这里的列相当于recon里边的标题对不对,那我在这儿是不是可以写一个产品ID啊。CRD看一下是不是它是一个列表啊,是一个列表。
17:00
所以在table中生化出一列的内容,是一个list啊,是一个list。深化的方法是什么?深化的方法是在查询或者表的后面写上对应的列名啊,写上对应的列表。列名是由中括号包裹的是吧?包裹啊包裹的,呃,比如。比如下面这一步对不对,比如下面这一步,我截个图过来啊。比如下面这一步啊,这这个时候呢,我们生化出了它的这个产品案例这一列,那比如说我们深化出每一行呢,对不对,生化出每一行的时候啊,我们使用的是大括号里边写上行的缩引啊,比如说list里边我们说是缩引从零开始对不对?零,那table里边也是一样,比如说我们写零是吧,它是它应该是第一行啊,你看。
18:17
这个时候呢,所以呢,出来它是一个recon,因为它的原表中的行是由re record来记记录的,对不对,是以record形式来存存在的,比如说生化。嗯,表中的,或者我们直接叫table中的。行啊,在财中行。表示的是一行两行啊,是一个record的形式。深化的方法是在查询或者表后面。写上对应的。
19:02
行的缩影。啊,索引是在大括号中对不对,比如说这个。啊,其结果是一个啊,是一个con。那有人问了啊,那我比如说生化出一个元素呢,生化出表中的一个元素,比如我我我刚才给大家示范了一下,比如说我选中某一个元素啊,选中某一个元素啊,然后右键有个生化,我们点一下它会生化出这个元素,生化元素的时候呢。他会先给你写上生化的是这个元素出在哪一行的位置,比如说第三行对不对,然后再写上。这个元素是哪一列,把它列名写上啊,也就是说。行列同时生化的时候。
20:03
或者我们这么说啊,推保中的元素啊,生化胎保中的一个值,生化或者取出。太宝中的一个直使啊。在查询或者表后面。先生化。这个。值所在的先先写出这个值所在的行。的生化再跟上。这个值所在的列的生化啊,也就是说十字交叉的位置就是这个值的。
21:08
位置啊,就是就是说我们分别用行和列交叉定位出了这个值啊,定位出这个值,所以所以我们。这个生化一个表中的一个值的时候,我们可以这么写啊,可以这么写,那我们刚才说了,说我们应该先写行再写令啊,先写行再写令,为什么呢?因为我们先写了一个行。啊,写写了一个行的时候呢,我们发现。这一行是一个con对不对,它是带有标题的啊,然后呢,我们就把这个标题在一起对不对,然后这个值就生化出来了,比如说产产品分类。那假如说。我能不能把这个列写在前边来,我们来看一下啊,对吧,写出来一列,然后呢,我现在要升化这个列里边的某一行啊,某一行,比如说零啊。
22:11
对吧,我也可以啊,也可以这种也可以对不对。这种也可以。也就是说在常规的生化中啊,我在这儿想一下,在常规的生化,或者拿出容器胎宝这里边是推网中的元素的时候啊,或者直。值的时候在表或者查询。查询啊。后面先写。行或者先写列,都没有什么影响啊,都没有什么影响,都没有什么影响,那啥时候有影响。
23:02
啊,啥时候有影响这个问题呢,我暂时啊,暂时给大家先不讲啊,我们呃,我们再来看另外一个问题。啊,我把这边这个放在后边。然后我们再来看另外一个问题。呃,看这什么问题呢。啊,我先把这部分给删掉。对吧,现在呢,我是从呃一个工作簿里边导出了这么多的表,你看这么多的表里边呢,有的比如说看一个item啊,有的是比如说是个表带有表名啊,有的呢,它是一个哎这种东西感叹号后边啊,好,这看它类型,有的是Sha table啊,甚至还有的是叫什么defend name啊,微命名的一个区域什么东西的啊。那在我们加载表的时候,我们通常需要什么啊,需要的是呃,这个she这种类型啊,She这种类型。
24:10
需要的是she的这种类型,此时呢,我们可以这个通过生化来给它洗,通过生化来写,比如说我现在要什么。啊,我现在生化出。呃,比如说现在生化看着里边带带带什么来。对she的啊,是she的啊,这个元素的这个,比如说。但是。哎,先把这个。比如说我要找出she里边的产品表啊,我要精确定位到这个里边,是不是这是一个条件定位对吧?是是不是一个条件定位,相当于我找出符合条件的行啊,符合条件的行的这个产品表的这个data啊,啊,也就是我要把这个给它精确的生化出来,那这个怎么办呢?我一我们生化行是不是一个大括号,但是行里边我们要对这个某一行进行一个条件判断。
25:14
啊,添加一个进行条件判断,但是这个条件判断呢,它又会涉及到列名对不对,所以我们在里边还得给他写一个中号啊中括号里边写什么呢?列名对不对?看比如说看等于什么呢?等于she。啊,Shift shift以后呢。我们我们先啊,我们先给他这个,哎,字是不是写多了啊,写多了一个。我们先给他这个确定一下看看对吧,点下定根这块说弹了一句什么意思呢?弹了一句放下来吧,弹了一句说该建于表中的多行匹派啊,也就是说它不能不能给你相当于筛选出多行啊,它只能生化出一个唯一值啊,生化出一个唯一值。
26:07
唯一的一行或者唯一的一列啊呃啊,不唯一的一行啊呃,唯一的唯一的列的话,我后边再给大家讲,不是唯一的列,它可以生化多列啊。说话得。我看是刚才应该是给大家诶。来讲。啊对,刚才给大家讲了,Record里边呢,可以生化出两页对不对,然后表里也是一样的啊,我待会儿给大家再接着讲,所以呢,我们还需要一个什么定位呢?啊,需要一个定位对不对?嗯,我们应该是内这一列等于什么?等于产品表。对吧,那么我们来看一下对吧,也就是说我们给了一个定位条件,定位条件里边有两个列,一个列里边呢是CA等于she对不对,另外一个是name等于产品表啊,就是产品表,这样的话我们就能定位出一个唯一的一个啊,拿出一个唯一的值啊,拿出一个唯一的值。
27:16
这是我们讲的在。Table里边我们可以这个干什么?可以经可以可以条件生化啊,可以条件生化。通俗的讲呢。就是我们有条件的拿出。元素。或者或者叫嗯,更准,更准确一点叫拿出唯一的。元素对吧。啊,这个里边。我们要一定要理解啊,理解在大括号两边,大括号呢表示拿出表中的行,因为我们说话的是一个表,对不对,拿出表中的行。
28:09
对不对,但是呢,我们要判断行中的某一个值是否符合条件。那么我们就得使用列啊,使用列的时候呢,我们就得加中括号啊,这是我们为什么这么写的一个原因啊,为什么这么写的一个原因。我们接着来看,但是呢,我现在生化出来,它是一个recon对不对,它是一个re,我要接着生化什么接着生化这个太对不对,Record生化的时候中号中括号对不对,中括号,然后呢,写上它的标题名,比如说这里的data,因为我们的数据是在table啊,Data对应的这个值table里边啊写着呢。对不对,所以我们看一下啊,这样的话我们就把它生化出来了,这是一个条件生化对不对。条件生化条件生化对吧,我们刚才又讲了一个,讲讲了一个什么来。
29:09
我们讲了一个,说这个表中行列生化的时候啊,有没有先后顺序,对不对,有没有先后顺序。嗯,比如说我我我我举个例子啊,我现在要生化出什么来,嗯。看一下。比如说我们生化出。康一。啊,等于。就等于ID吧,这个标题行。但这个标题行。啊,我们先把先把这个行给它取出来了,对不对,先把这个行取出来了,呃,然后呢,我们要要要拿什么呢。
30:02
拿他的这个里边的康乐一。啊。这样的话,我们就把这个record给它拿出来了,对不对,Con给他拿出了,假如说哎,我现在想这么写,比如说我现在先拿出他的这个。啊,先拿拿出它所在的这个列。产品,哎,不对。啊,先拿出这个列的时候,我现在要找。找产品ID啊,找查评RD,有条件的去拿对不对。这个时候我们就没法拿了啊,因为我们肉眼观察它在第一第一个元素我们可以直接写成零啊,这样是可以的。但是呢,我们已经没有办法去给他再写一个条件啊,到底。这个产品列,假如说产品列在第999行的时候,我们还要拉到后边去看它是不是在999行,或者有一次它变成777行呢。
31:08
这就没办法写了。所以这个时候。我们就要讲求先后顺序了啊,讲求先后顺序了。对吧,我们应该先深化它所在的行啊,因为为什么呢,因为生生化行的时候呢。他生画的出来是一个record这么一个容器,Record里边本身它是还有标题对不对,还有标题。啊,然后呢,我们就很容易的可以取出,比如说像产品ID这个元素啊,这个里边你看啊,这个里边。在这个里边。我把它给接下来。我们在这儿写一下啊。嗯,也就回到我们这个里边啊,在常规的里边,先后顺序没有什么影响,没有什么影响,但是在这种,但是在有条件的。
32:07
生化的时候。先后顺序啊,行列的生化的先后顺序。就有影响了,对吧,有影响了,比如说这个啊,这个有条件的生化的时候。啊,不能先生化令,不能先生化令对不对,生化令啊,必须。得先生化。生化行对不对这样。Recon,才有一个标题啊,才有一个标题。这是呃,我们在这个精确生化或者说精确拿数据的时候啊,有个先后顺序的问题啊,有个先后顺序的问题,这里边儿大家一定要注意啊,一定要注意我们再回到我们的这个表中来看一下啊。
33:15
我刚才说了生化行和生化列啊的时候呢,分别使用的是什么。生化在表中生化行使用的是这个。大括号里边写这一行的一个索引位置对不对,生化列的时候呢,写的是它的一个标题啊,标题使用中括号啊第的一个标题。不管我们在常规的这个生化中先使用行还是先使用列啊,我们一定要遵循遵循这个取出的这个元素啊,取出的这个元素是不是具有唯一值。对吧,是不是具为止。啊,我们取行的时候。
34:00
去行的时候,条件生化的时候啊,它有个唯一值的问题,对不对,这个唯一值的问题,这是我们这个元素的生化啊,三大容器中元素的生化这里边儿呢,我们需要特别需要注意的。啊,特别需要注意的就是。生化。其实就是我们所说的取出元素对不对,取出怎么怎么取,取元素的问题就是说不,不管是我在我的口袋里边,或者我的书包里边或我家里啊,放了放了多少糖啊,放了多少糖,我要取出多少啊取出多少。对吧,我一定要有一定的方式去取,对吧,取多少啊,取哪个,取白色的糖还是这个黑色的糖,是取甜的还是不甜的,还是取辣的对吧。那元素的生化我们就讲到这里。同学们,再见。
我来说两句