列表 list
列表由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或 所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
那么列表是如何表达的呢?
friends=['alice','bob','vince','alex']
这就是一个很简单很典型的列表,其中包含了四个元素,分别用引号和逗号来区分。
我们定义每一个被引号圈起来的东西就是一个元素(element)
我们提出如下两个问题:
01
列表如何访问元素
02
列表内的元素如何修改,添加或删除?
03
组织,操作列表
01
访问元素
在这之前我们需要了解的是列表里的元素索引是0开始的而非是1开始的。换句话说friends(0) = alice ,friends(1) = bob 如果说列表一共有x个元素那么最后一个元素就是x-1号。当然,你也可以反向看这个问题,列表的最后一个元素可以用(-1)来表达。在这里,friends(-1) = alex。在取用倒数几个元素的时候,从反方向下手也是很好的选择。
这个时候我们就可以轻松的运用列表里的元素了,和前面的print函数结合起来。来看个例子吧。
看!这样我们是不是就成功的运用了列表里面的元素了?
02
添加元素
此时我们需要添加一个朋友iris
我需要用到的是append函数
append就是增加的意思也是很好理解
运用方法很简单就是 列表名称.append(想加入的东西) 这里的append函数会把你想添加的元素加到列表的最后面。也就是说现在我们的列表是这样的:['alice', 'bob', 'vince', 'alex', 'iris']
那么我们是否能够将元素加到我指定的位置呢?
答案是当然可以啦。这里就需要提到insert函数,insert就是插入的意思。实际操作起来代码也很简单清晰。
这里我们需要在insert函数里先填入插入的位置,再加上想插入的元素,具体的操作如上。这个时候,我们的新列表就是['iris', 'alice', 'bob', 'vince', 'alex']。iris同学跑到第一位去了。
03
修改,添加和删除
首先修改列表里的元素,假设我们要把alice改成iris,这个时候我们需要做什么呢?来先看看下边的例子。
其实很简单,我们只需要重新定义friends[0]就可以做到修改列表里的元素了。
学会了修改元素,我们再来看看如何删除列表元素
这里介绍两个方法:del,pop函数和remove函数
首先是del,就是键盘上常常看到的delete删除的意思。使用方法也很简单很明确,指定元素并删除。注意使用del函数删除后就是完全的删除了,你无法再次访问该元素。
pop函数
这个方法和上面的方法有相同也有不同的地方,相同的就是他们两个其实都起到了删除元素的作用。(pop函数的括号里面是可以填数字的,即想删除元素的索引,空的括号默认是最后一个元素)但是不同于del的是,pop函数删除的元素,就只是不出现在原列表中了而已,你还是可以访问该删除元素。
当你不知道该使用del还是pop函数的时候,你只需要思考,你是否需要在后面使用该删除元素即可。如果需要访问则使用pop函数,相反即使用del函数。
remove函数
这个方法可以针对于,你不知道目标元素在列表的哪个位置,但是你又需要删除它。这个时候用remove函数就最适合不过了。方法很简单,比如说想把bob移出去,我们可以这样:friends.remove('bob')
这样我们就能够在不知道其位置的情况下,将其移出列表。我们来看看这个例子。
首先,我们把iris同学插入在了列表的最前面,然后我们使用remove函数将bob从列表内移了出去。这样我们就有了如下的结果。
组织,操作列表
对列表进行排序处理:
1)字母顺序排序
2)从后往前排列列表元素
首先我们需要了解到的函数是sort函数和sorted函数。
这两个都能够对列表进行字母表的顺序排列元素,但是他们有一个很大的区别就是。sort函数是永久性的对列表进行排序,而sorted函数仅仅是暂时的对列表排序。
这里我们看到上面随便编写的列表,在sort函数的帮助下确实每个元素都按照字母表的顺序重新排了一遍,正如前面所说的这个操作是不可逆的。
其次,我们说一说sorted函数,还是上面的例子我们看到,在使用了sorted函数后我们依旧可以访问原来的列表。可以看出sorted函数对列表的排序是可逆的。
最后的排序方法,倒着排序。
reverse函数,reverse有颠倒的意思
看下面的代码,大家应该也猜的八九不离十了,对这个reverse操作同样也是永久性的。不过还是可以返回到原来的列表,只需要再一次的使用reverse就可以·。
总结
这节课我们介绍了很多全新的函数,有append, del, remove, pop, insert, sort, sorted, reverse。这里我们其实可以简单的理解为是背几个英文单词,通过单词去联想的话学习就会顺利很多。
下节课,我们会继续介绍关于列表的更加深入的内容:操作列表