提醒:音频大小2.3MB
让学编程像听故事一样简单,欢迎来到砸门的IT有声书,大家好,我是砸门。
我们先回想一下昨天的变量君,箱子fruit=['apple','orange','banana'],它是一个列表。我们还写了从箱子里取数据的语句fruit[1],结果却取出了第2个变量,这是为什么呢?
因为电脑从0开始计数的,如果想取第一个数应该写成fruit[0],而fruit[1]取出的是第二个数。好奇怪,为什么从0开始计数而不从1开始呢?这是因为对于电脑来说,从1数到10意味着要从1位数变成2位数,这实在太复杂太难懂了,它单纯的世界观人生观都会崩溃掉;而从0数到9这样没有位数的变化,对电脑来说更加简单明了。有时候我们人类还是迁就一下吧,谁让我们更加聪明呢。
知道了这些,我们再用方脑壳fruit[0],fruit[1],fruit[2]分别把下标为0、1、2的数据取出来吧。
不出所料,我们依次拿到了apple、orange、banana。
为了把哥仨拿出来,需要连续敲3遍,懒症患者实在难以接受啊。能不能一次多拿几个呢?可以使用分片取值,只要指明从几个取到几个就可以了,比如从第0个取到第2个即是0:2。这里需要注意一下,冒号右边的值是取不到的,即是fruit[0:2]运行结果不是下标为0、1、2的数据,而是只有下标为0、1数据,即apple和orange。这是为什么呢?
为啥取不到冒号右边的数据?为了明白这个问题,我们看看fruit[2:3]会怎样取值吧。
答案揭晓,就是banana。也就是说,如果fruit[0:2]能取到右侧的值,再运行fruit[2:3]就会出现重复的2,为了不出现重复,就只好让右侧取不到值了,这下就明白了python作者的良苦用心。虽然有点绕,但是没关系,当你绕不清楚的时候,就运行一下看看结果,再想想砸门的解释,立刻就能了然于胸了。
如果把箱子里的所有水果一股脑全部拿出来,当然可以写成fruit[0:3]。然而还有一个更加简单的办法,直接把冒号右侧的下标省略,只要写fruit[0:],仅仅指明从何处开始取,python就自动帮你取到最后,而不用关心总共有多少条数据,是不是很方便?当然还可以再延展一下,从1取到最后,从2取到最后分别是fruit[1:]和fruit[2:]。
同样也可以把冒号左侧的下标省略,表示从列表的最开头开始,一直取到第几个。比如fruit[:2]和fruit[:3]。
当然也可以把冒号左右两侧的下标都省略到,表示从头一股脑取到尾。
到了这里,可以看得出其实箱子本质上是一个微型的数据库。说到数据库就离不开四种操作,增、删、改、查,那么怎样对列表君进行增删改查呢?我们明天接着讲吧。
领取专属 10元无门槛券
私享最新 技术干货