00:00
那我们讲到集合,集合有什么操作呢?增加、删除、清空、弹出等等,那集合就是它基本的运算,交集、并集,差集、对称差集,基础运算,对应运算符也有相应的增强赋值的符号。那集合之间的关系可以判断是子集真子集,超级真超级,以及他们之间是否有交集。我遇到这么一个问题,说空小括号对应的是空元组,空中括号对应的是空列表,空大括号对应的是一个dict。那什么是Di呢?Di塔是一个类型,它的意思就是dictionary字典,哎,那么比如说我们之前看过这个音高字典,映射到具体的音高。还有力度字典将强弱次强弱定义成具体的力度,那这个dick是什么意思?我们就喊救命,对着dick喊。缺省的话做做一个空字典,它里面放的东西是什么呢?是Mapping。
01:04
是映射关系,什么到什么的映射,是key到value的一对一对的映射,那这个K到value的一对一对映射怎怎么做呢?这儿有一个东西是它的。构造函数啊,构造函数Q出来,去把这个代码跑一遍,One=1。Two=2,那么这个就得到这么一个字点,其中万和1就是一个p two和2就是一个P,前面的都是K,后边的就是value,我把这个东西赋给一个变量,那这个变量呢,我们就可以索引一下。用什么索引呢?用K来索引,如果要查的K是Y,那查到的就是1,如果要查的key是two呢?那查到的就是2。这个万和1 two和2之间是一个麦平的关系。有什么应用?我比如说我有一个通讯录,我记得住人名,但我记不住电话,没关系,我记住人名儿,我用人名儿查电话,这不就解决问题了吗?那怎么做呢?我做一个contact,他等于什么呢?他等于一个Di字典,几个字典,那么有一个人叫o easy z, 他的电话是123。
02:16
还有一个人呢,是O2,在他的电话是。456,那么这个时候呢,我们就得到了这个contact,它是大括号括起来的key和Y6的P,现在有这个这个这个通讯录有多大个儿呢?它有两个T和Y6的P。那具体来说,这个字典怎么查呢,我们。找到这个万。用万去查这个字典呀,不是我用OECZ去查这个字典,得到了123啊,知道OECZ的名字,查到OECZ电话,知道O2Z的名字呢,查到OR2Z的电话,那我能不能直接就拿这个东西做成一个字典,我把这个东西右键复制出来,我把它直接付给D行不行呢?没报错,也就是说是可以的。
03:04
这个就跟以前那个音高字典是一样的,是吧,音高字典只不过音高字典是拿哆来咪去查,这个是拿名字去查,查的过程就叫索引。查的过程就叫索引,那这个索引我们见过哈,我们见过它和列表有什么区别吗?比如说我们这儿来个列表吧,这个列表呢,是把OE再转成一个列表。得到一个字符列表对吧,这个字符列表呢,它索引,我拿它的第0项去索引。它是用什么索引呢?它是用序号数字来索引,通过序号数字返回它的列表项对吧。01234。0.345个字符呢,如果第5个就怎么样,就index l就超出范围了。那字典怎么索引呢?字典我们刚才说了这个contacts是我的字典,然后呢,我用谁用key来索引,我用O1Z来索引,找到O1Z电话,我用O2Z来索引呢?找到O2Z电话,他不是用数字,刚才是用数字,现在呢是用K来索引。
04:18
那他也会报索引错误吗?比如说现在没有O3Z,那现在呢,我就会发现它有一个K,就跟刚才的那个index l很像。啊,它是key,没没有这个key之前呢,是index超出这个range超出这个范围,所以key呢很重要,Key呢很重要,用key索引。那。那这K怎么理解呢?所谓的key就是钥匙,钥匙干嘛用的呢?钥匙开锁啊,钥匙和锁是配对的,有一个钥匙就可以开一把锁,哎,开了锁呢,就可以找到这个Y6。所以这个key的意思呢,就是开锁这个钥匙,它也作为这个钢琴的琴键,摁一下就有声儿是吧,电脑按键按一下就有一个字符过去。
05:00
那如果说这个联系人的信息除了这个电话之外,还包括地址,那怎么办?比如说这儿有这么一个字典D等于什么呢?等于等于这样的一个字典,说有一个o ez, 它呢,有一个通讯地址,电话一二三,地点是北京,然后逗号分隔开O2Z呢,它有这样的一个。联系方式电话呢是456,地点呢是上海。然后呢,我们就得到了这个通讯录字典,这个字典呢,我也可以索引索引o ez, 得到的是什么呢?得到的是一个元组。这个元组呢,再用0去找到他的电话,再用1去找到它的地址,那如果是O2Z呢,那我就也是同样的,它等于是把这个元组作为一个Y6放在这儿,那找到这个字典的Y6之后,再怎么去索引这个元组呢?就用它的具体序号是吧。
06:03
那么一个K可以找到两个VALUE6吗?我们试一下,如果D等于一个什么呢?如果说Y,它的意思是yes,同时呢,我又定一个撇,K还是Y?我说这个L是多少呢?是液,那么会发生什么呢?D就是液,也就是说第二次的定义就把第一次给覆盖了,会update之前的,那我做一个动物字典嘛,哎,做一个动物字典,比如说这是一个动物字典,猫是一个girl like animal dog是一个boy like animal right是一个small animal elephant是一个big animal, 那就是说白了就是给世界下定义是吧,非常非常好玩。那字典呢,这个点可不是随便什么人都编的,怎么来的这字儿左边一只手,右边一只手,手里拿的是什么呢?是侧是册,这册呢,其实就是拿这个牛津呢,穿的这个竹子啊,它为什么重要呢?就不能人说了算得怎么样,这数据说了算以前是怎么判的是吧?以前是是出现什么情况,那这个都得按典范来嘛,是吧。
07:11
有大典盛典,典狱长是吧?这靠的是经典是吧?典当行,你不是想卖多少钱卖多少钱得靠典,那什么时候有这字典呢?公元100年就有这个。字典了,许慎写的这个说文解字。他其实是拿这个文字去解释文字,那你说我文字都不会怎么办呢?那没办法,但是他整个来说,这就是拿文字音形义的这么一个结合体去解释文字的一个这么一个东西。那英文当中这个dictionary怎么来的呢?Dictionary来自于拉丁语,意思是单词和短语的集合。最早的字典是拉丁语字典,是来自英国的约翰,他在法国教拉丁文,他编的这本拉丁语字典为什么不教不编那个英文字典呢?因为那会儿的英文还算是日耳曼语、诺尔斯语,拉丁语的一种口语方言。
08:06
就是当地人用这个说,他只是说,但是他没有这个文字,拉丁文才是正统的,这个书面语言来自于神圣罗马教廷,他他有宗教的加成,还有罗马帝国的战力加成。所以拉丁就很厉害。那什么时候有英语的呢?昂萨编典史,英太祖阿尔弗雷德开始把昂萨口语落实到了纸面,口语就等于是写出来了,大不列颠岛也就成了昂格鲁人的岛,成了昂格兰了,昂格鲁萨克逊形成了这个民族认同。这时候还没有英文字典呢,第一本英文字典是哪年呢?1604典,罗伯特他作为一个神职人员,他呢,写了一本字典,你说神职人员编什么字典呢?他他因为这神职就是当时的最高科技啊,字典的名字叫the table alphab, 贝塔单词表总共呢,2500个单词,词汇量就比较少。
09:02
前言部分老老实实用这个罗马政体和今天的英语很像,但是也有点儿不太一样。A到Z呢,单词的部分是罗马政体,但是到了这个词义的部分呢,是哥特字体,显示这个古登堡的部曲。词语比较模糊,比如说代尔塔,他没描述成进食的方式,没有解释,没有例句,也没有追根溯源,词汇量少,只有37页。W没有任何单词是吧?W没有任何单词。那这次呢,我们就了解这么一个字典,字典,那字典dictionary这词儿怎么来的呢?我们下次再说,O easy z交枪。
我来说两句