一.序列:
序列中的每一个元素被分配一个序号------即元素的位置,也可称为索引,第一个索引是0,第二个是1,以此类推,也可以从最后一个元素开始计数:序列中的最后一个元素标记为-1,倒数第二为-2,以此类推。
1.索引
可以使用索引访问序列中的任一个元素:
>>> a = 'hello'
>>>a[0]
'h'
字符串字面值能够直接使用索引:
>>> 'hello'[-1]
'o'
对函数调用的返回结果进行索引操作:
>>>fourth = raw_input('year: ')[3]
year:2017
>>>fourth
'7'
2.分片
a.与使用索引来访问单个元素类似,可以使用分片操作来访问一定范围内的元素,通过冒号隔开的两个索引来实现
>>>number = [1,2,3,4,5,6,7,8,9]
>>>number[3:6]
[4,5,6]
注意: 分片操作的实现需要提供两个索引作为边界,第一个索引包含在分片内,第二个则不包含在分片内。
>>>number[-3: ]
[7,8,9]
置空索引可以包含到最后一个元素
b.更大的步长
在普通的分片中默认步长为1,如果步长被设置为比1大的数,那么就会跳过某些元素
>>>number[3:6:3]
[4]
注意:步长可以是负数,此时分片从右到左提取元素
>>>number[8:3:-1]
[9,8,7,6,5]
总结:开始点的元素包括在结果之中,而结束点的元素则不在分片之内。当使用一个负数的步长时,必须让开始点的索引大于结束点的。
3.序列相加
>>>[1,2,3]+[4,5,6]
[1,2,3,4,5,6]
注意:两种相同类型的序列才能进行连接操作。
4.序列相乘
用数字x乘以一个序列会生成一个新的序列,在新的序列中,原来的序列将被重复x次
>>>[42]*3
[42,42,42]
5.成员资格
为了检查一个值是否在序列中,可以使用in运算符(返回的是布尔值)
>>>user = ['tom', 'cat']
>>>raw_input("enter your name:") in user
enter your name: cat
True
二.列表
1.list函数:实现根据字符串创建列表
>>>list('hello')
['h', 'e', 'l', 'l', 'o']
注意:list函数适用于所有类型的序列,而不只是字符串
2.改变列表:元素的赋值
>>>x = [1,1,1]
>>>x[1]=2
>>>x
[1,2,1]
3.删除元素
>>>name = ['tom', 'cat', 'lucy']
>>>del name[2]
>>>name
['tom' , 'cat']
4.分片的赋值:可以使用与原序列不等长的序列将分片替换
>>>name = list('perl')
>>>name[1:] = list('ython')
>>>name
['p' , 'y' , 't' , 'h' ,'o' ,'n']
5.append: 用于在列表末尾追加新的对象
>>>lst = [1,2,3]
>>>lst.append[4]
>>>lst
[1,2,3,4]
6.count: 统计某个元素在列表中出现的次数
>>>x = [[1,2], 1, 1, [2,1,[1,2]]]
>>>x.count(1)
2
7.extend: 可以在列表的末尾一次性追加另一个序列中的多个值(扩展原有的列表)
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.extend(b)
>>> a
[1,2,3,4,5,6]
注意:extend与连接操作的区别,extend是扩展了列表,而连接是生成了一个新的列表
8.index: 用于从列表中找出某个值第一个匹配项的索引位置
>>> pp = ['I' ,'am' , 'a' , 'girl']
>>>pp.index('am')
1
9.insert: 将对象插入到列表中:
>>> numbers = [1,2,3,4,5,7]
>>>numbers.insert(5,6)
>>> numbers
[1,2,3,4,5,6,7]
10.pop: 移除列表中的一个元素(默认是最后一个),并且返回该元素的值
>>> x=[1,2,3]
>>>x.pop()
>>>x
[1,2]
注意; pop方法是唯一一个即能修改列表又能返回元素值的列表方法
11.reverse: 将列表中的元素反向存放
>>> x=[1,2,3]
>>>x.reverse()
>>>x
[3,2,1]
三. 元组
元组与列表一样,也是一种序列,唯一不同的是元组不能修改。
元组大部分时候是用圆括号括起来的:
>>>(1,2,3)
(1,2,3)
实现包括一个值的元组--------必须加个逗号,即使只有一个值:
>>> 42,
(42,)
tuple 函数
tuple函数的功能与list函数基本上是一致的:以一个序列作为参数并把它转换为元组,若参数就是元组,那么该参数
就会被原样返回
>>>tuple([1,2,3])
(1,2,3)
>>>tuple ('abc')
('a' ,'b' ,'c')