白癜风症状 http://www.bdfyy999.com#少儿编程#
我们通过画一个彩色螺旋线知道了什么是列表(list),以及如何获取列表数据。那如果我们要修改列表里的数据呢?这一篇我们将更进一步的了解列表的使用。
每个小朋友都会有自己喜欢的东西,比如书、动画片、玩具等。那么现在我们就来试着使用列表来记录小朋友们喜欢的东西。
创建简单的Python列表
假设有位小朋友特别喜欢看迪士尼动画片,他想建立一个他看过的迪士尼动画片数据列表,图1是他这段时间看过的迪士尼动画片。
图1
我们先帮助这位小朋友创建一个含有这些内容的列表:
movies=[疯狂动物园,寻梦环游记,米老鼠和唐老鸭,冰雪奇缘]
我们给这个动画片列表起个名字,叫movies。列表movies的值为[疯狂动物园,寻梦环游记,米老鼠和唐老鸭,冰雪奇缘]。movies列表创建好后,我们就可以根据索引获取相应的动画片名,如图2。
图2
向列表增加更多数据
1)在列表末尾增加数据
我们建好这个数据列表后,发觉少了一部他最喜欢的《狮子王》,那么我们怎么把这部动画片加到movies列表里呢?Python列表提供了在末尾添加数据项的方法,append()。如图3:
图3
代码①:是我们最初创建的列表movies,有4部动画片
代码②:使用了列表的append()方法。执行movies.append(“狮子王”),就是在列表movies末尾增加了“狮子王”。使用print语句打印movies的值,可以看到列表movies比之前多了“狮子王”这部动画片。
注意:通过movies.append(“狮子王”)这句,我们能看出Python语言列表方法的使用方式:列表名.方法名()。
2)在列表中间增加数据
我们创建迪士尼动画片列表之后,觉得只有动画片名字还不够,我们想在每部动画片的后面再增加发行年份,如图4:
图4
Python列表使用insert(index,obj)方法将内容插入到指定位置,index:要插入的指定位置,obj:要插入的内容。现在我们把各部动画片的发行年份插入到相应的动画片后面,代码如图5:
图5
代码①movies.insert(1,):在列表movies中索引为1的地方插入。我们知道列表的索引(index)是从0开始,movies里第一个值是“疯狂动物园”,也就是说它的索引是0,我们现在要把插入到它的后面,那自然的索引就为1。
代码②movies.insert(3,):同理,由于已经在“疯狂动物园”的后面插入了,也就是说“寻梦环游记”往后挪了一个位置,由原来的第二个值变为第三个了,它的索引现在是2。那要在“寻梦环游记”后面插入,自然是在索引为3的位置上插入。
代码③、④movies.insert(5,)、movies.insert(7,)也是一个意思,小朋友们自己推一推。
最后一个,代码⑤movies.append():由于这个是在“狮子王”后面插入,其实就是在列表的末尾插入,所以就直接使用append()方法就行了。
注意:插入完列表,小朋友们会发现,现在这个列表既有字符串,也有数值型。我们在列表中可以混合不同的数据类型吗?
当然可以,在Python中,列表是允许混合存储各种类型的数据的。在Python设计之初,列表就是用来存储一个“相关内容”的集合,它并不关心这些内容的类型是什么,它只是提供了一种机制来存储数据。
在列表中存储列表
我们这个列表修改到现在,已经包含了动画片片名和发行年份。但这还不够,因为那位小朋友还想在列表movies里继续插入每个动画片里的主要人物,如图6。
图6
我们已经知道,Python的列表是可以存放任何类型数据的,那自然列表里也是可以存放列表的,代码如图7:
图7
想在列表中再嵌套列表,其实很简单,还是使用insert(index,obj)方法,obj参数的值就是我们要插入的列表。
修改列表内容
如果我们想修改列表中某个值呢?那我们只要通过索引定位到这个数据,然后重新赋值就可以了。比如我们想把“疯狂动物园”这个名字改成“疯狂动物城”,代码如图8:
图8
我们知道“疯狂动物园”的索引是0,所以我们只要对movies[0]重新赋值就可以了,如图8中的代码①。
有的小朋友可能会问了,那有的列表值比较多,我如何能比较容易的知道这个值的索引呢?Python这样的编程语言当然提供了现成的方法,index(obj),见图9
图9
movies.index(“疯狂动物城”)返回的就是“疯狂动物城”的索引。不过要特别说明的是,如果要查的值有重复,那么只返回匹配的第一个索引。
删除列表
1)删除列表中的数据
有添加,有修改,就会有删除。如果我们想删除某个数据项,就使用remove(obj)方法,见图10:
图10
代码①movies.remove(“狮子王”):就是移除列表movies中“狮子王”这项。图10中我们可以看到,执行完remove(“狮子王”)方法后,列表movies中已经没有“狮子王”这个数据项了。
使用remove(obj)方法,我们不需要知道要删除的元素在列表中的位置,只需要确定这个元素确实在列表中就可以了。
2)删除列表末尾的数据
但如果我们只是想删除列表末尾的数据呢,那就使用pop()方法就可以了,见图11:
图11
当使用pop()方法时不带任何参数值,如图11中的代码①和代码②,就是移除列表最后的数据。我们可以看到,当执行过两次movies.pop(),再看列表movies的值,已经没有狮子王的发行年份和主要人物了。
特别要说明,列表的pop()方法里是可以带参数值,它的参数值是索引值,比如movies.pop(3),这种就是移除索引为3的值。小朋友们可以自己执行试试看。
这篇我们主要介绍了Python列表的增加、删除和修改的操作。我们会介绍列表的排序。
原创不易,请勿抄袭。欢迎大家