python基础之列表相关知识

Posted 重头来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础之列表相关知识相关的知识,希望对你有一定的参考价值。

一、创建空列表
在python中,万物皆对象。其实,对于列表它不仅是一种数据类型,其实也是一个类(python中将五大内置数据类型-列表、字典、元组、集合、字符串)都进行了封装使之成为一个类。那么,创建空列表就有两种方法。
第1种:a = [] ,这也是很多人习惯用的方法。
第2种:a = list(),由于列表被封装为了一个list类,那么实例化list类就生成了一个空列表。
我们来验证一下:

>>> a = []
>>> print(a)
[]
>>> b = list()
>>> print(b)
[]
>>> 


二、列表添加元素
前面我们说到了list类,一个具体的列表就是list类的实例,该实例就可以调用其类种的方法来实现某些功能。如何给列表添加元素呢?可以用类中的append()函数
我们来看一下list类中的append()方法。

class list(object)
    ...
    append(self, object, /)
        Append object to the end of the list.

在list类中,append()方法接收一个对象,并将其添加到列表的最后面。看下面的例子:

>>> a = list()
>>> a.append("hello")
>>> print(a)
[\'hello\']
>>> a.append("world")
>>> print(a)
[\'hello\', \'world\']

上例中,创建了一个空列表a,调用append()方法将hello加入到列表a中,然后再次将world加入到列表a中,最后看到的打印效果是,hello和world都添加到了列表a中,且都是添加到列表的后面。

三、删除列表元素
列表删除元素的方式有几种,而且各有不同的特性。
1、del():可以用来删除单个或多个元素(通过列表的切片)
我们来看两个例子:

>>> a = [1,3,5,11,42]
>>> del(a[0])
>>> print(a)
[3, 5, 11, 42]
>>> 
>>> a = [1,3,5,11,42]
>>> del(a[0:2])
>>> print(a)
[5, 11, 42]

第一个例子中,del(a[0])成功将索引为0的元素删除了。第二个例子中,del(a[0:2])成功将索引为0到2(不包含)的元素删除了。
2、pop():用于删除元素并返回
我们来看下面的例子:

>>> a = [2,3,12,423,11]
>>> s = a.pop()
>>> print(s)
11

我们可以看到,pop()函数会将列表中的最后一个元素删除并返回。
拓展,pop()还可以接收一个参数,用于删除指定索引的值并返回。我们来看下面的例子:

>>> a = [2,3,12,423,11]
>>> s = a.pop(1)
>>> pring(a)
>>> print(a)
[2, 12, 423, 11]
>>> print(s)
3

我们可以看到,pop(1)删除了列表a中的索引为1的元素,值为3,并将其返回
3、remove():删除列表中首次出现的的某一元素。

>>> a = [2,3,2,12,423,11]
>>> a.remove(2)
>>> print(a)
[3, 2, 12, 423, 11]

我们可以看到,列表中的元素2被删除了。

四、列表扩展(列表拓展列表)
extend():可以将B列表拓展到A列表中。

>>> A = [1,3,5]
>>> B = [2,4,6]
>>> A.extend(B)
>>> print(A)
[1, 3, 5, 2, 4, 6]
>>> print(B)
[2, 4, 6]

我们可以看到,A.extend(B),将B列表拓展到了A列表后面,而B列表没有改变。

五、插入元素
insert(index, value):在指定索引index位置插入值value。

>>> a = [2,34,12,33,11,23]
>>> a.insert(1, 100)
>>> print(a)
[2, 100, 34, 12, 33, 11, 23]


六、获取元素的索引值
index(value):返回元素value的索引值。

>>> a = [2,34,12,33,11,23]
>>> i = a.index(34)
>>> print(i)
1


七、列表排序
sort(key,reverse):为列表进行排序。sort()方法会改变其调用列表本身的顺序,默认升序排列。

>>> a = [2,34,12,33,11,23]
>>> a.sort()
>>> print(a)
[2, 11, 12, 23, 33, 34]

再看一个降序排列

>>> a = [2,34,12,33,11,23]
>>> a.sort(reverse=True)
>>> print(a)
[34, 33, 23, 12, 11, 2]

我们可以看到,当reverse=True时,列表就会将排序反过来,也就是降序
tips:sorted(列表a)不改变列表本身,会将列表a排序后的结果返回。

>>> a = [2,34,12,33,11,23]
>>> s = sorted(a)
>>> print(s)
[2, 11, 12, 23, 33, 34]
>>> s = sorted(a, reverse=True)
>>> print(s)
[34, 33, 23, 12, 11, 2]

我们可以看到,sorted()会将排序后的结果返回,而不会改变原列表,同样sorted()也有reverse参数。

八、列表切片
我们知道,列表是有索引的,可以通过索引获取列表中的某一个或多个值。
a:索引值从0开始,最有一个索引值为列表长度-1,或用-1标识。
b:索引区间可以从任何地方开始,需要注意的是,若从左到右,可以用类似a[2: 4],若从右到左,则可以用类似a[-3: -1]。
c:可以通过区间和步长来获取区间内的部分值,a[1:5:2],其中1,5为索引区间,2为步长。

>>> a = [2,34,12,33,11,23]
>>> print(a[0:3:2])
[2, 12]
>>> print(a[-4:-1:2])
[12, 11]

我们可以看到,a[0:3:2]是0:3区间,步长为2,所以就是[2,34,12,33]每隔步长2取值,所以取到2, 12。同样a[-4:-1:2]只是通过反向索引取值罢了。





 





以上是关于python基础之列表相关知识的主要内容,如果未能解决你的问题,请参考以下文章

python基础--列表相关基础知识

python基础--列表相关基础知识

python基础知识之列表元祖字典/字符串。

python3基础知识点之列表

python基础知识之列表元祖字典集合字符串。

python文件基础之(文件操作)