Python列表(“数组”)操作

1、任务简介

首先,我们需要明确的一点就是Python是没有数组这一概念的,也正是基于这一特点我才打算撰写这篇博客,但是Python中有一种比数组还要厉害的东西——列表,它的功能比数组更加强大,所以把它称为“打了激素的数组”。

关于Python列表的讲解可以查看菜鸟教程,但是我认为本博客的讲解比教程更易于理解,可以让初学者一看就懂。

注:本博客所有代码均在IDLE下完成。


2、列表操作简介

(1)创建列表

初学Python还是建议大家使用IDLE进行程序的编写,所以本博客中所有讲解均是在IDLE下完成的,创建列表的方法及显示结果如下:

>>> number = [1,2,3,4,'罗思洋']
>>> number
[1, 2, 3, 4, '罗思洋']

在列表中可以包含整形、字符串、浮点型数据,还可以包含另一个列表。

(2)向列表中添加元素

向列表添加元素一共有append()、extend()和insert()三种方法,下面我将三种方法一一道来:

1)append()方法默认将元素添加到列表末尾,并且一次只能添加一个元素,操作如下:

>>> number = [0,1,2,3,4]
>>> number.append(5)
>>> number
[0, 1, 2, 3, 4, 5]

2)extend()方法可以添加多个元素,但是必须以列表的形式添加,操作如下:

>>> number = [0,1,2,3,4]
>>> number.extend([5,6])
>>> number
[0, 1, 2, 3, 4, 5, 6]

3)大家有没有发现前两种方法均将元素添加到列表末尾,如果想插队的话就需要使用insert()方法了,操作如下:

>>> number = [0,1,2,3,4]
>>> number.insert(2,1)
>>> number
[0, 1, 1, 2, 3, 4]

insert(2,1)中2指位置,1是需要添加的元素(列表第一个元素所在位置为0)。

(3)从列表中删除元素

学习了添加元素的方法,自然需要学习删除元素的方法,从列表中删除元素一共有remove()、del和pop()三种方法,下面我一一道来(之前的例子我使用数字进行讲解,本部分我使用字符串进行讲解):

1)使用remove()方法时,我们需要知道列表中已经存在的元素,这样才可以实现元素的删除,操作如下:

>>> number = ['罗','思','洋']
>>> number.remove('罗')
>>> number
['思', '洋']

2)当我们需要删除指定位置的元素时,就需要使用del方法,操作如下:

>>> number = ["罗",'思','洋']
>>> del number[0]
>>> number
['思', '洋']

del后直接跟列表名可以删除整个列表。

3)pop()方法可以弹出元素,若无指定索引值作为参数时默认弹出最后一个元素,有索引值的操作如下:

>>> number = ["罗",'思','洋']
>>> number.pop(0)
'罗'
>>> number
['思', '洋']

使用三种方法都可以实现元素的删除,孰优孰劣大家自行斟酌。

(4)从列表中获取元素

1)从列表中获取元素可以一次获取一个或多个,获取一个的操作如下:

>>> number = ["罗",'思','洋']
>>> number[0]
'罗'

2)当我们需要获取多个时就需要使用列表分片的方法,操作如下:

>>> number = ["罗",'思','洋']
>>> number[0:2]
['罗', '思']
>>> number[:2]
['罗', '思']
>>> number[1:]
['思', '洋']
>>> number[:]
['罗', '思', '洋']

number[0:2]中0为开始位置,2为结束位置,并且结束位置上的元素是不包含的,开始位置未添加时默认为0,结束位置未添加时默认为最后一个元素所在位置。

3)我们还需要学习访问列表中列表的方法,操作如下:

>>> number = [0,1,[2,3],4]
>>> number[2][1]
3

number[2][1]中2指第一层列表的元素,1指第二层列表中的元素。

(5)列表反转

列表反转一共有两种方法,第一种方法需要使用到列表分片,第二种是reverse()方法,具体如下:

1)分片操作实际上是可以设置第三个参数的,第三个参数代表的是步长,当步长为-1就可以实现列表反转,操作如下:

>>> number = [0,1,2,3,4]
>>> number[::-1]
[4, 3, 2, 1, 0]

2)reverse()方法操作如下:

>>> number = [0,1,2,3,4]
>>> number.reverse()
>>> number
[4, 3, 2, 1, 0]

在有例子展示的情况下,一切变得简单了。

(6)列表的拼接与重复

1)首先讲一下列表的拼接,其实是指需要使用 + 就可以完成了,操作如下:

>>> number1 = ["罗",'思','洋']
>>> number2 = [0,1,2,3,4]
>>> number3 = number1 + number2
>>> number3
['罗', '思', '洋', 0, 1, 2, 3, 4]

2)重复操作也同样简单,使用 * 即可完成,操作如下:

>>> number = [123]
>>> number*3
[123, 123, 123]
>>> number *= 3
>>> number
[123, 123, 123]

(7)元素是否存在于列表中的判断

1)判断就需要使用到in和not in,in的操作如下:

>>> number = ['罗','思','洋']
>>> '罗' in number
True
>>> '1' in number
False

not in的操作如下:

>>> number = [0,1,2,3,4]
>>> 1 not in number
False
>>> 6 not in number
True

2)但是in和not in只能判断一个层次的成员关系,对于二层列表种元素的判断操作如下:

>>> number = [0,1,[2,3],4]
>>> 2 in number[2]
True
>>> 3 not in number[2]
False

(8)其余操作

1)count()方法可以计算参数在列表中的出现次数,操作如下:

>>> number = [0,0,1,0,2,3,4]
>>> number.count(0)
3

2)index()方法可以返回参数在列表中的位置,操作如下:

>>> number = [0,1,2,3,4]
>>> number.index(1)
1

3)sort()方法可以将列表中的元素进行排序,操作如下:

>>> number = [11,23,45,67,32,66,91]
>>> number.sort()
>>> number
[11, 23, 32, 45, 66, 67, 91]

此时实现的是升序排序,如果想实现降序排序的话操作如下:

>>> number = [11,23,45,67,32,66,91]
>>> number.sort(reverse=True)
>>> number
[91, 67, 66, 45, 32, 23, 11]

3、总结

以上所列出的方法均是Python列表操作中较为常用的方法,写这篇博客花费了我大量时间,每一个功能我都尽量列出多种实现方法,每一种方法我都在IDLE中进行验证,力求做到全面而准确无误。Python除列表外还有一种叫做元组的东西,大家可以通过菜鸟教程进行学习,若我有时间的话会在后面的博客中更新元组的操作。

猜你喜欢

转载自blog.csdn.net/lsylsy726/article/details/82899571
今日推荐