列表可以做什么?
假设你要创建一个基于《Go Fish》的游戏。如果你不知道《Go Fish》是什么,就去网上查一下。要实现这个游戏,你需要有一个办法,把“一摞纸牌”这一概念写到Python程序中。然后你要写 Python 代码去操作这纸牌,让玩家觉得他是真的在玩纸牌。这个“一摞纸牌”的结构,被程序员称为“数据结构”
数据结构是什么?思考一下就知道了,数据结构只是组织数据的正式方法。就这么简单。尽管有的数据结构会极度复杂,但它也只是在程序中存储数据的一种方式而已,它们所做的事情就是把数据结构化。
列表是程序员最常用的一种数据结构。列表就是一种有序的列表,你可以把要存储的东西放进去,也可以访问其中的元素,访问可以随机,也可以通过索引进行线性访问。什么?!记住我说的;不要听到程序员说“列表就是列表”就头疼,程序员的列表并不比真实世界的列表更复杂,我们把一摞纸牌作为列表看看
1.你有一堆纸牌,每张都有一个值。
2. 这些纸牌排成一摞,即一个从上到下的列表。
3.然后你可以从上面或者下面取牌,也可以从中间随机抽一张牌。
4.如果你要某张特定的牌,你需要一张一张检查,直到找出那张牌为止。
再看看我说的东西。
@有序的列表:是的,纸牌是从头到尾有序排列的。
@要存储的东西:就是我的纸牌了。
@随机访问:我可以从牌中抽取任意一张。
@线性:如果我要找到某张牌,我可以从第一张开始,依次寻找。
@通过索引。差不多是这样,如果我告诉你找出第19 张牌,你需要数到19然后找到这张牌,在Python 列表里,如果你要某个索引位置的牌,计算机可以直接跳到索引的运的位置将其找出来。
这就是列表的所有功能了,这个方法应该能让你理解编程的概念。每个编程概令都和现实世界的某样东西有关,至少对于有用的编程概念来说是这样的。如果你能在现实世界中找到类比,那你就能弄明白这个数据结构有什么功用。
什么时候使用列表
只要能匹配到列表数据结构的有用功能,你就能使用列表。
1.如果你需要维持次序。记住,这里指的是列表内容排列顺序,而不是按某个规则排过顺序的意思。列表不会自动为你按规则排序。
2.如果你急需要通过一个数字来随机访问内容。记住,你要使用从0开始的基数访问。
3.如果你需要线性(从头到尾)访问内容。记住,这就是for循环的用处。
欢迎留言点赞关注
我们一起分享AI学习与发展的干货
如转载,请后台留言,遵守转载规范