位置:首页 > 脚本语言 > Python在线教程 > Python列表

Python列表

Python最基本的数据结构是序列(列表/元组)。一个序列中的每个元素都分配有一个数字- 它的位置或索引。第一个索引是0,第二个索引是1,依此类推。

Python有6内置类型的序列,但最常见的是列表和元组,我们将在本在线教程中看到。

有一些东西可以使用所有序列类型来做。这些操作包括索引,切片,加,乘,并检查成员。此外,Python已经内置函数查找序列的长度和搜索它的最大和最小的元素。

Python列表:

列表是最通用的数据类型,在Python可以写成逗号分隔值方括号(项目)列表。有关列表是在一个列表中的项不一定是同个数据类型。

创建一个列表很简单,只要把squere括号之间不同的逗号分隔值。例如:

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] 串联
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
3 in [1, 2, 3] True 成员
for x in [1, 2, 3]: print x, 1 2 3 迭代

索引,切片,和矩阵:

因为列表序列,索引和切片的工作方式与他们对字符串操作类似。

假设下面输入:

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

 

Python 表达式 结果 描述
L[2] 'SPAM!' 偏移从零开始
L[-2] 'Spam' 负值:计数从右边
L[1:] ['Spam', 'SPAM!'] 切取部分

内置函数列表及方法:

Python中包括下面的列表函数功能:

SN 函数及描述
1 cmp(list1, list2)
比较两个列表的元素
2 len(list)
给出列表的总长度
3 max(list)
从列表中,项目的最大值
4 min(list)
从列表中,项目的最小值
5 list(seq)
一个元组到列表的转换

Python中包括下面的列表的方法

SN 方法及描述
1 list.append(obj)
添加obj对象到列表
2 list.count(obj)
计算返回obj出现在列表的次数
3 list.extend(seq)
附加序列seq内容到列表
4 list.index(obj)
返回列表中出现obj的最小索引
5 list.insert(index, obj)
插入obj对象在列表偏移索引位置
6 list.pop(obj=list[-1])
移除并返回列表最后一个对象或obj
7 list.remove(obj)
从列表中移除obj对象
8 list.reverse()
反转列表的对象
9 list.sort([func])
排序列表中的对象,使用func比较(如果给定)