您的位置:首页 > 编程语言 > Python开发

开始Python -- List和Tuple(1)

2007-10-09 17:17 423 查看
l Python中最基本的数据结构是Sequence,Sequence中的每个元素分配一个index来指定位置,index从0开始
l Python有6种內建的Sequence,这里聚焦两种最通用的:List和Tuple;它们的主要区别是:你可以改变List,但不能改变Tuple
l List的形式:“,”分割,“[]”包括起来

>>> edward = ['Edward Gumby', 42]

l List可以嵌套:

>>> john = ['John Smith', 50]
>>> database = [edward, john]
>>> database
[['Edward Gumby', 42], ['John Smith', 50]]

1、通用Sequence操作
(1) 索引
l Sequence中的元素从0开始索引:

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

l String是字符Sequence
l 如果使用负数index,则从右边开始索引(最右边为-1):

>>> greeting[-1]
'o'

l 如果函数的返回值是List,可以直接索引:

>>> fourth = raw_input('Year: ')[3]
Year: 2005
>>> fourth
'5'

(2) Slice
l 指定两个index值来访问Sequence中指定范围的元素(包括开始的元素,但不包括结束的元素):

>>> tag = '<a href="http://www.python.org">Python web site</a>'
>>> 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]

l 如果Slice持续到Sequence的最后,则可以省略后面的index:

>>> numbers[-3:]
[8, 9, 10]

l 这对开始也是一样的:

>>> numbers[:3]
[1, 2, 3]

l 如果两者都省略,则为拷贝整个Sequence:

>>> numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

l 步长的使用:

>>> numbers[0:10:2]
[1, 3, 5, 7, 9]

l 步长的使用同样可以使用省略形式:

>>> numbers[::4]
[1, 5, 9]

l 步长不能为0,但可以为负数,这时开始index值必须大于结束index值:

>>> numbers[8:3:-1]
[9, 8, 7, 6, 5]
>>> numbers[10:0:-2]
[10, 8, 6, 4, 2]
>>> numbers[0:10:-2]
[]
>>> numbers[::-2]
[10, 8, 6, 4, 2]
>>> numbers[5::-2]
[6, 4, 2]
>>> numbers[:5:-2]
[10, 8]

(3) 连接Sequence

>>> [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 "<interactive input>", line 1, in ?
TypeError: can only concatenate list (not "str") to list

l 连接的Sequence必须类型相同
(4) 乘法

>>> 'python' * 5
'pythonpythonpythonpythonpython'
>>> [42] * 10
[42, 42, 42, 42, 42, 42, 42, 42, 42, 42]

l [](空List)、None(空对象)和初期化

>>> sequence = [None] * 10
>>> sequence
[None, None, None, None, None, None, None, None, None, None]

(5) 所属
l 使用in操作符可以检查值是否在Sequence中,返回Boolean值

>>> permissions = 'rw'
>>> 'w' in permissions
True
>>> 'x' in permissions
False
>>> users = ['mlh', 'foo', 'bar']
>>> raw_input('Enter your user name: ') in users
Enter your user name: mlh
True

(6) len、max、min函数

>>> numbers = [100, 34, 678]
>>> len(numbers)
3
>>> max(numbers)
678
>>> min(numbers)
34
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: