列表和元组的主要区别在于,列表可以修改,元组则不能。一般情况下,在几乎所有的情况下列表都可以代替元组
例如:使用序列可以表示数据库中一个人的信息(姓名,年龄)
复制代码 代码如下:
edward=['Edward Gumby',42]
序列还可以包含其他序列
复制代码 代码如下:
edward=['Edward Gumby',42]
john=['John Smith',50]
database=[edward,john]
database
[['Edward Gumby', 42], ['John Smith', 50]]
通用序列操作
所有的序列操作都可以进行某些特定的操作。这些操作包括:索引、分片、加、乘以及检查某个元素是否属于序列的成员
索引
序列中的所有元素都是有编号的--从0开始递增。这些元素可以通过编号分别访问,如下:
复制代码 代码如下:
greeting='hello'
greeting[0]
'h'
greeting[-1]
'o'
'hello'[1]
'e'
如果一个函数调用返回一个序列,那么可以直接对返回结果进行索引操作,例如:
复制代码 代码如下:
fourth=raw_input('Year:')[3]
Year:2005
fourth
'5'
View Code
运行结果:
复制代码 代码如下:
Year: 1974
Month(1-12): 8
Day(1-31): 16
August 16th, 1974
分片
使用分片操作来访问一定范围内的元素,分片通过冒号相隔的两个索引来实现:
复制代码 代码如下:
tag='Python](http://www.python.org">Python) web site'
tag[9:30]
'http://www.python.org'
tag[32:-4]
'Python web site'
第一个索引是需要提取部分的第一个元素的编号,而最后的索引则是分片之后剩下部分的第一个元素的编号
复制代码 代码如下:
numbers=[1,2,3,4,5,6,7,8,9,10]
numbers[3:6]
[4, 5, 6]
numbers[0:1]
[1]
1、优雅的捷径
访问最后的三个元素,当然可以进行显示的操作
复制代码 代码如下:
numbers[7:10]
[8, 9, 10]
numbers[-3:-1]
[8, 9]
numbers[-3:0]
[]
numbers[-3:]
[8, 9, 10]
只有最后一个分片完成任务,这种方法同样适用序列开始的元素:
复制代码 代码如下:
numbers[:3]
[1, 2, 3]
实际上,如果需要复制整个序列,可以将两个索引都置空:
复制代码 代码如下:
numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2、更大的步长
分片还有第三个参数--步长,通常都是隐式设置的,在一般情况下,步长是1,不能为0,但是可以为负数,即从右往左提取元素
测试代码
序列相加
通过使用加号可以进行序列的连接操作:
复制代码 代码如下:
[1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
'hello.'+'world!'
'hello.world!'
[1,2,3]+'world!'
Traceback (most recent call last):
File "<pyshell#107>", line 1, in
[1,2,3]+'world!'
TypeError: can only concatenate list (not "str") to list
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8