Python 列表


Python中最基本的数据结构是 sequence .序列的每个元素都被分配了一个数字——它的位置或索引。第一个索引为零,第二个索引为一,依此类推。

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 表达式 Results 描述
len([1, 2, 3]) 3 Length
[1, 2, 3] + [4, 5, 6] [1、2、3、4、5、6] 级联
['嗨!'] * 4 ['嗨!','嗨!','嗨!','嗨!'] 重复
3 在 [1, 2, 3] True 会员资格
对于 [1, 2, 3] 中的 x:打印 x, 1 2 3 迭代

索引、切片和矩阵


因为列表是序列,所以索引和切片对列表的工作方式与对字符串的工作方式相同。

假设输入如下:

L = ['spam', 'Spam', 'SPAM!']

Python 表达式 Results 描述
L[2] SPAM! 偏移量从零开始
L[-2] Spam 负数:从右数
L[1:] ['垃圾邮件','垃圾邮件!'] 切片获取部分

内置列表函数和方法


Python包括以下列表函数:

序号. 功能说明
1 cmp(列表 1,列表 2)

比较两个列表的元素。

2 长度(列表)

给出列表的总长度。

3 最大值(列表)

从列表中返回具有最大值的项目。

4 分钟(列表)

从列表中返回具有最小值的项目。

5 列表(序列)

将元组转换为列表。

Python 包括以下列表方法

序号. 带有描述的方法
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([函数])

对列表对象进行排序,如果给定则使用比较函数