Python的列表浅析

148 阅读3分钟

这是我参与「第四届青训营」笔记创作活动的的第6天

列表

列表是用于存放若干元素的有序序列。列表使用方括号([])来表示,其中的元素写入方括号中,多个元素时用逗号分隔,如 [1, 'go', [0.1, 0.2]]。它的元素可以是任意数据类型,甚至也可以是个列表。

元素之间有顺序关系,每个元素都有自己的位置,每个位置从 0 开始依次标号,这个表示位置的数字叫作索引

列表被创建之后,我们可以对它做很多操作,包括添加元素,删除元素,修改元素,查找元素等。

创建列表

1.创建空的列表

列表 = []items = []

2.创建包含元素的列表

列表 = [元素1, 元素2, ..., 元素N]
​
>>> items = [1, 2, 3]

列表元素的获取

1.通过索引获取元素

元素 = 列表[索引]
​
>>> letters = ['a', 'b', 'c']
>>> letters[2]
’c’

2.通过元素获取索引

这种方式和上面相反,首先在列表中寻找元素,然后返回元素对应的索引

索引 = 列表.index(元素)>>> letters = [‘a’, ‘b’,c]
>>> letters.index(c)
2

3.查看元素是否存在于列表中

要想查看元素是否存在于列表中,需要借助 Python 的关键字 in,使用如下:

布尔值 = 元素 in 列表
​
>>> letters = [‘a’, ‘b’, ‘c’]
>>> ‘a’ in letters
True
>>> ‘z’ in letters
False

4.统计元素在列表中的个数

统计元素在列表中的个数,或者说是元素在列表中出现的次数

个数 = 列表.count(元素)
​
>>> numbers = [1, 2, 2, 3, 4, 5, 5, 7]
>>> numbers.count(5)
2

列表元素的添加

我们可以很灵活地向列表添加元素,如以追加的形式向列表末尾添加一个元素;以插入的形式向列表的任意位置插入元素;或者将一个列表中的所有元素批量的添加到另一个列表中。

1.向列表末尾追加元素

列表.append(元素)>>> letters = [‘a’, ‘b’]
>>> letters.append(c)
>>> letters
[‘a’, ‘b’,c]

2.向列表的任意位置插入元素

列表.insert(索引, 元素)>>> letters = [‘a’, ‘b’]>>> letters.insert(0,c)
>>> letters
[c, ‘a’, ‘b’]>>> letters.insert(2, ‘d’)
>>> letters
[c, ‘a’, ‘d’, ‘b’]

3.列表末尾追加另一个列表的所有元素

列表.extend(另一列表)
​
>>> letters = [‘a’, ‘b’]
>>> letters.extend([‘c’, ‘d’, ‘e’])
>>> letters
[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]

列表元素的删除

1.按索引删除元素

pop(索引) 会将索引对应的元素从列表中删除,同时返回这个元素。

元素 = 列表.pop(索引)>>> letters = [‘a’, ‘b’,c]
>>> letters.pop(0)
’a’
>>> letters
[‘b’,c]

也可以不传递索引,这样的话默认删除并返回最后一个元素

>>> letters = [‘a’, ‘b’,c]
>>> letters.pop()c>>> letters
[‘a’, ‘b’]

2.按索引删除元素(del 方法)

删除一个列表元素也可以使用 Python 中的 del 关键字,如下:

del 列表[索引]
​
>>> letters = [‘a’, ‘b’, ‘c’]
>>> del letters[0]
>>> letters
[‘b’, ‘c’]

3.直接删除元素

直接删除元素时,Python 会先在列表中遍历该元素,然后将匹配到的第一个元素删除

列表.remove(元素)>>> letters = [‘a’, ‘b’,c]
>>> letters.remove(‘b’)
>>> letters
[‘a’,c]

4.清空所有元素

清空所有元素即是把列表元素全部删除,最后仅为列表仅为 []

列表.clear()
​
>>> letters = [‘a’, ‘b’, ‘c’]
>>> letters.clear()
>>> letters
[]

列表元素的修改

1.通过赋值修改列表元素

列表[索引] = 新元素
​
>>> letters = [‘a’, ‘b’, ‘c’]
>>> letters[2] = 'd’
>>> letters
[‘a’, ‘b’, ‘d’]

2.反转整个列表

反转整个列表会将所有的元素倒序排列

列表.reverse()>>> letters = [‘a’, ‘b’,c]
>>> letters.reverse()
>>> letters
[c, ‘b’, ‘a’]

3.列表元素排序

列表.sort()
​
>>> numbers = [2, 4, 5, 2, 1, 5, 7, 3]
>>> numbers.sort()
>>> numbers
[1, 2, 2, 3, 4, 5, 5, 7]

也可以通过指定 sort 方法的 reverse 参数来倒序排列

列表.sort(reverse=True)
​
>>> numbers = [2, 4, 5, 2, 1, 5, 7, 3]
>>> numbers.sort(reverse=True)
>>> numbers
[7, 5, 5, 4, 3, 2, 2, 1]