什么是容器
上章我们学习了数字和字符串。这两种数据是是不可拆分的“原子元素”(严格来说我字符串是可以再拆分成字符的,但是这个可以忽略)。
我们生活中还有另外一大类型的数据,容器:由多个元素组成的一个中数据。我们来看看生活中哪些数据是容器。一斤苹果、一套画册、一群小鸟。斤、套、群这些都是形容一组数据的介词。都有一堆的意思。这些就是容器。
在游戏中就有更多容器的例子啦。游戏主角身上穿的装备列表、游戏征途中的所有怪物,这些都是容器。
容器的作用
要是世界上只有我们一个人,得是多么的孤单。所以世界上的很多东西都是可以“类聚群分”的。通过容器的方式,能够让我们统筹全局,站在更高的视角上分析问题。
接下来,我们就学习下容器在python里的表达。
什么是列表
列表就是我们最常见的容器的了,我们可以用由一组元素组成的数据叫容器来定义它。
我们前面提到的一斤苹果、一套画册都是容器。下面,我们就拿一套画册来举例子,看我们对这种容器的数据做哪些操作。
对列表能做哪些操作
数画册里共有多少本漫画
往画册里加一本漫画
把画册的第一本书换为七龙珠
从画册里去掉一本漫画
取这个画册里的第二本漫画
取这个画册里的第二到第四本漫画
判断海贼王是否在这套画册里
把这个画册按照漫画的名字排序
是不是发现,只要套用生活中的例子,理解编程概念是很简单的。编程就是处理数据的,我们平时怎么处理数据,编程就能怎么处理数据(当然以后会有更高级的处理方式)。
在python中定义列表
上面我们认识了什么是列表,接下来我们就看看怎么在python里定义个列表吧。
a = [1,3,5,7,9]
hero = ['阿珂','韩信','李白']
book_list = ['海贼王','叮当猫','老夫子']
在第一行中,[1, 3, 5, 7, 9]
就是一个小于10的奇数容器。定义一个列表,我们只需要用中括号把我们的元素包起来、每个元素用逗号隔开即可。第一行的整体意思是,我们定义一个变量a,并用赋值语句把由 1、3、5、7、9 5个元素组成的赋值给变量a,其中:1,3,5,6,7,9是我们上章节学习的数字。
在第二行中,['阿珂','韩信','李白']
是由 阿珂、韩信、李白三个游戏角色组成的列表,我们把这个列表通过赋值语句给到了hero这个变量。其中,'阿珂','韩信','李白'使我们上个章节学习的字符串。
第三行, ['海贼王','叮当猫','老夫子']
是由 海贼王、叮当猫、老夫子三本漫画组成的列表,我们把这个列表给到了变量:book_list
在python中操作列表
接下来,我们就看一下在python中怎么对列表变量 book_list
做我们前文提到的那些操作。
book_list = ['海贼王','叮当猫','老夫子']
len(book_list)
book_list.append('西游记')
book_list[1]
book_list[0] = '七龙珠'
book_list[1:3]
book_list.remove('叮当猫')
'海贼王' in book_list
book_list.sort()
print(book_list)
获取列表长度 数画册里共有多少本漫画
len(book_list)
中的 len()方法,和字符串里的取字符串的长度是一样的往列表里增加元素 往画册里加一本漫画
book_list.append('西游记')
append()
方法,append是追加的意思,往列表里追加一个元素获取列表元素 取这个画册里的第二本漫画
book_list[1]
我们使用[ 1]
的方式去列表里某个位置的元素,注意,还是从0开始取的更改列表里某个位置的值 把画册的第一本书换为七龙珠
book_list[0] = '七龙珠'
直接用赋值表达式来改变列表某个位置下的值。获取多个元素 取这个画册里的第二到第四本漫画
book_list[1:3]
取列表里的多个元素直接用[1:3]
就可以了,和字符串里的取字符串方法一样。删除元素从画册里去掉一本漫画
book_list.remove('叮当猫')
使用 remove方法删除列表里的某个元素判断列表是否包含某个元素 判断海贼王是否在这套画册里
'海贼王' in book_list
使用in
方法。in 左侧是元素,in右侧是列表。列表排序 把这个画册按照漫画的名字排序
book_list.sort()
使用 sort方法对列表里的元素排序,默认按照从小到大的顺序排序。
总结
这节课的知识点有点多,我们在掌握的时候,首先要理解什么是列表,对列表能做哪些操作。语法我们可以慢慢记忆。下节课,我们用列表来做一个项目实例,让大家有个感性的认识。