Python - 列表
上一页下一页
Python中最基本的数据结构是序列 .序列的每个元素都被分配了一个数字——它的位置或索引。第一个索引为零,第二个索引为一,以此类推。
Python 有六种内置的序列类型,但最常见的是列表和元组,我们将在本教程中看到。
您可以对所有序列类型执行某些操作。这些操作包括索引、切片、加法、乘法和检查成员资格。此外,Python 还内置了用于查找序列长度以及查找其最大和最小元素的函数。
Python 列表
列表是 Python 中最通用的数据类型,可以写成方括号之间的逗号分隔值(项目)列表。列表的重要一点是列表中的项目不必属于同一类型。
创建列表就像在方括号之间放置不同的逗号分隔值一样简单。例如 -
list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"]
与字符串索引类似,列表索引从 0 开始,可以对列表进行切片、拼接等操作。
访问列表中的值
要访问列表中的值,请使用方括号进行切片以及索引或索引以获得该索引处可用的值。例如 -
现场演示#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]
执行上述代码时,会产生以下结果 -
list1[0]: physics list2[1:5]: [2, 3, 4, 5]
更新列表
您可以通过在赋值运算符左侧给出切片来更新列表的单个或多个元素,并且可以使用 append() 方法添加到列表中的元素。例如 -
现场演示#!/usr/bin/python list = ['physics', 'chemistry', 1997, 2000]; print "Value available at index 2 : " print list[2] list[2] = 2001; print "New value available at index 2 : " print list[2]
注意 − append() 方法在后续部分讨论。
执行上述代码时,会产生以下结果 -
Value available at index 2 : 1997 New value available at index 2 : 2001
删除列表元素
要删除列表元素,如果您确切知道要删除的元素,可以使用 del 语句,如果不知道,可以使用 remove() 方法。例如 -
现场演示#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "After deleting value at index 2 : " print list1
执行上述代码时,会产生以下结果 -
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]
注意 − remove() 方法将在下一节讨论。
基本列表操作
列表响应 + 和 * 操作符很像字符串;它们在这里也意味着连接和重复,只是结果是一个新列表,而不是一个字符串。
事实上,列表响应了我们在前一章中对字符串使用的所有一般序列操作。
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 连接 |
['嗨!'] * 4 | ['嗨!','嗨!','嗨!','嗨!'] | 重复 |
3 in [1, 2, 3] | 是的 | 会员 |
for x in [1, 2, 3]:print x, | 1 2 3 | 迭代 |
索引、切片和矩阵
因为列表是序列,所以索引和切片对列表的工作方式与对字符串的工作方式相同。
假设以下输入 -
L = ['spam', 'Spam', 'SPAM!']
Python 表达式 | 结果 | 描述 |
---|---|---|
L[2] | 垃圾邮件! | 偏移量从零开始 |
L[-2] | 垃圾邮件 | 负数:从右数 |
L[1:] | ['垃圾邮件','垃圾邮件!'] | 切片获取部分 |
内置列表函数和方法
Python 包括以下列表函数 -
Sr.No. | 函数说明 |
---|---|
1 | cmp(list1, list2) 比较两个列表的元素。 |
2 | len(列表) 给出列表的总长度。 |
3 | 最大值(列表) 从列表中返回具有最大值的项目。 |
4 | 分钟(列表) 从列表中返回具有最小值的项目。 |
5 | 列表(序列) 将元组转换为列表。 |
Python 包括以下列表方法
Sr.No. | 方法描述 |
---|---|
1 | list.append(obj) 将对象 obj 追加到列表中 |
2 | list.count(obj) 返回 obj 在列表中出现的次数 |
3 | list.extend(seq) 将 seq 的内容追加到列表中 |
4 | list.index(obj) 返回列表中obj出现的最低索引 |
5 | list.insert(索引, obj) 将对象 obj 插入到偏移索引处的列表中 |
6 | list.pop(obj=list[-1]) 从列表中移除并返回最后一个对象或 obj |
7 | list.remove(obj) 从列表中移除对象 obj |
8 | list.reverse() 原地反转列表对象 |
9 | list.sort([func]) 对列表对象进行排序,如果给定则使用比较函数 |
Python