摘要:在本节中,你将学习 Python 的列表类型以及如何有效地操作列表元素。
什么是列表
列表是一个有序的项目集合。
Python 使用方括号 []
) 来表示列表。以下展示了一个空列表:
empty_list = []
通常,列表包含一个或多个项目。要分隔两个项目,你使用逗号(,
)。例如:
todo_list = ['Learn Python List','How to manage List elements']
由于列表通常包含许多项目,因此使用复数名词来命名它是一个好习惯,例如 numbers
(数字)colors
(颜色)和 shopping_carts
(购物车)。
以下示例定义了一个包含六个数字的列表:
numbers = [1, 3, 2, 7, 9, 4]
如果你打印出这个列表,你会看到它的表示形式,包括方括号。例如:
numbers = [1, 3, 2, 7, 9, 4]
print(numbers)
输出:
[1, 3, 2, 7, 9, 4]
以下展示了如何定义一个字符串列表:
colors = ['red', 'green', 'blue']
print(colors)
输出:
['red', 'green', 'blue']
列表可以包含其他列表。以下示例定义了一个列表的列表(即嵌套列表):
coordinates = [[0, 0], [100, 100], [200, 200]]
print(coordinates)
输出:
[[0, 0], [100, 100], [200, 200]]
访问列表中的元素
由于列表是一个有序集合,你可以通过索引像这样访问其元素:
list[index]
列表的索引是从零开始的。换句话说,第一个元素的索引是 0,第二个元素的索引是 1,依此类推。
例如,以下展示了如何访问 numbers
列表的第一个元素:
numbers = [1, 3, 2, 7, 9, 4]
print(numbers[0])
输出:
1
numbers[1]
将返回列表中的第二个元素:
numbers = [1, 3, 2, 7, 9, 4]
print(numbers[1])
输出:
3
负索引允许你从列表的末尾开始访问元素。
list[-1]
返回最后一个元素list[-2]
返回倒数第二个元素,依此类推。例如:
numbers = [1, 3, 2, 7, 9, 4]
print(numbers[-1])
print(numbers[-2])
输出:
4
9
增、删、改列表元素
列表是动态的。这意味着你可以修改列表中的元素,向列表中添加新元素,以及从列表中移除元素。
修改列表中的元素
要更改一个元素,你可以使用以下语法为其分配一个新值:
列表[索引] = 新值
以下示例展示了如何将 numbers
列表的第一个元素更改为 10:
numbers = [1, 3, 2, 7, 9, 4]
numbers[0] = 10
print(numbers)
输出:
[10, 3, 2, 7, 9, 4]
以下展示了如何将第二个元素乘以 10:
numbers = [1, 3, 2, 7, 9, 4]
numbers[1] = numbers[1]*10
print(numbers)
输出:
[1, 30, 2, 7, 9, 4]
以下代码将第三个元素除以 2:
numbers = [1, 3, 2, 7, 9, 4]
numbers[2] /= 2
print(numbers)
输出:
[1, 3, 1.0, 7, 9, 4]
向列表增加元素
append()
方法将一个元素追加到列表的末尾。例如:
numbers = [1, 3, 2, 7, 9, 4]
numbers.append(100)
print(numbers)
输出:
[1, 3, 2, 7, 9, 4, 100]
insert()
方法在列表的任意位置添加一个新元素。
例如,以下代码将数字 100 插入到 numbers
列表的索引 2 处:
numbers = [1, 3, 2, 7, 9, 4]
numbers.insert(2, 100)
print(numbers)
输出:
[1, 3, 100, 2, 7, 9, 4]
从列表中移除元素
del
语句允许你通过指定元素的位置来从列表中移除一个元素。
以下示例展示了如何从列表中移除第一个元素:
numbers = [1, 3, 2, 7, 9, 4]
del numbers[0]
print(numbers)
输出:
[3, 2, 7, 9, 4]
pop()
方法从列表中移除最后一个元素并返回该元素:
numbers = [1, 3, 2, 7, 9, 4]
last = numbers.pop()
print(last)
print(numbers)
输出:
4
[1, 3, 2, 7, 9]
通常,当你想从列表中移除一个元素并且仍然想访问该元素的值时,你会使用 pop()
方法。
要按位置弹出元素,你可以使用带有元素索引的 pop()
。例如:
numbers = [1, 3, 2, 7, 9, 4]
second = numbers.pop(1)
print(second)
print(numbers)
输出:
3
[1, 2, 7, 9, 4]
要按值移除元素,你可以使用 remove()
方法。注意remove()
方法仅移除列表中遇到的第一个匹配元素。
例如,以下代码从 numbers
列表中移除值为 9 的元素:
numbers = [1, 3, 2, 7, 9, 4, 9]
numbers.remove(9)
print(numbers)
输出:
[1, 3, 2, 7, 4, 9]
在这个例子中remove()
方法仅移除了第一个数值 9,但没有移除列表中的第二个数值 9。
总结
列表是项目的有序集合。
使用方括号表示法
[]
通过索引访问列表元素。第一个元素的索引为 0。使用负索引从列表末尾访问列表元素。最后一个元素的索引为 -1。
使用
list[index] = new_value
修改列表中的元素。使用
append()
在列表末尾添加新元素。使用
insert()
在列表中的指定位置添加新元素。使用
pop()
从列表中移除元素并返回该元素。使用
remove()
从列表中移除元素。