Python学习2-列表和元组

时间:2023-03-09 07:20:22
Python学习2-列表和元组

Python学习2-列表和元组

标签(空格分隔): 列表 元组


在Python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号--即元素的位置,也称为索引。索引从0开始。

Python中包括6种内建的序列。本次暂时讨论列表和元组。

列表和元组的主要区别在于,列表可以修改,元组则不能。

一般来说,几乎所有的情况下列表都可以替代元组(需要注意的例外情况:使用元组作为字典的键。这种情况下,因为键不可修改,所以不能使用列表)。

序列示例:

>>>tom = ['tom', 32]

同时,序列也可以包含其他的序列

>>>smith = ['smith', 34]
>>>database = [tom, smith];
[['tom', 32], ['smith', 34]]

通用序列操作

所有序列类型都可以进行某些特定的操作。这些操作包括:索引(indexing)、分片(sliceing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员(成员资格)。除此之外,Python还有计算序列长度、找出最大原色和最小元素的内建函数。(通用操作还包括迭代iteration)


1.索引

序列中所有的元素都是有编号的--从0开始递增。这些元素可以通过编号访问。如下所示:

>>>foo = 'Hello'
>>>foo[0]
'H'

使用负数索引时,Python会从右边,也就是最后一个元素开始计数。最后一个元素的位置编号为-1(不是-0,因为那会和第一个元素重合)

>>>foo[-1]
'o'
>>>foo[-0]
'H'

字符串字面值(就此而言,其他序列字面量亦可)能够直接使用索引,而不需要一个变量来引用它们。两种做法的效果是一致的。

>>>'Hello'[1]
'e'

2.分片

分片操作用来访问一定范围内的元素。分片通过冒号相隔的两个索引来实现:

>>>tag = '<a href="http://www.python.org">Python web site</a>'
>>>tag[9:30]
'http://www.python.org'

分片操作对于提取序列的一部分是很有用的。而编号在这里显得尤为重要。第1个索引是需要提取部分的第1个元素的编号,而最后的索引则是分片之后剩下部分的第1个元素的编号。

第1个索引的元素是包含在分片内的,第2个则不包含在分片内。

--未完待续