1.索引
>>> g = 'sfsa'
>>> g[2]
's'
2.分片
>>> tag = 'python.org'
>>> tag[4:6]
'on'
>>> numbers = [1,2,3,4,5]
>>> numbers[2:4]
[3, 4]
>>> numbers[2:]
[3, 4, 5]
>>> numbers[:3]
[1, 2, 3]
第1个索引是需要提取部分的第1个元素的编号(包含在分片内),最后的索引是分片后剩下部分的第1个元素的编号(不包含在分片内)
步长
>>> numbers = [1,2,3,4,5,6,7,8,9,10]
>>> numbers[0:10:3]
[1, 4, 7, 10]
3.序列相加
>>> [1,2,3] + [4,5,6]
[1, 2, 3, 4, 5, 6]
>>> [1,2,3] + 'hello' 报错
只有相同类型的序列才能进行连续操作
4.检查一个值是否在序列中使用in
>>> permissions = 'rw'
>>> 'w' in permissions
True
5.len,min,max
>>> numbers = [12,22,8]
>>> len(numbers)
3
>>> max(numbers)
22
>>> min(numbers)
8
>>> max(2,8,1)
8
5.list函数(实际是一种类型而不是函数),把序列转换成列表
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
6.列表操作
改变
>>> x = [1,2,3]
>>> x[1] = 4
>>> x
[1, 4, 3]
删除
>>> del x[2]
>>> x
[1, 4]
分片赋值
>>> name = list('perl')
>>> name
['p', 'e', 'r', 'l']
>>> name[2:] = list('ar')
>>> name
['p', 'e', 'a', 'r']
>>> numbers = [1,5]
>>> numbers[1:1] = [2,3,4]
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers[1:4] = []
>>> numbers
[1, 5]
>>> numbers[1:1] = [2,3,4]
>>> numbers
[1, 2, 3, 4, 5]
>>> del numbers[1:4]
>>> numbers
[1, 5]
7.列表方法
append
>>> ls = [1,2]
>>> ls.append(3)
>>> ls
[1, 2, 3]
count
>>> [1,2,2].count(2)
2
>>> [1,2,2].count('2')
0
>>> x = [[1,2],1,2,[1,2,[1,2]]]
>>> x.count(1)
1
>>> x.count([1,2])
1
extend
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6]
>>> a
[1, 2, 3]
>>> a[len(a):] = b
>>> a
[1, 2, 3, 4, 5, 6]
>>> a.append(b)
>>> a
[1, 2, 3, [4, 5, 6]]
index 从列表中找出某个值第一个匹配项的索引位置
>>> a = [1,2,3]
>>> a.index(3)
2
insert
>>> numbers = [1,2,3,4,5]
>>> numbers.insert(3,'abc')
>>> numbers
[1, 2, 3, 'abc', 4, 5]
>>> numbers = [1,2,3,4,5]
>>> numbers[3:3] = ['abc']
>>> numbers
[1, 2, 3, 'abc', 4, 5]
pop移除列表中一个元素(默认最后一个),并且返回该元素的值,pop方法是唯一一个既能修改列表又返回元素值的列表方法
>>> x = [1,2,3]
>>> x.pop()
3
>>> x.pop(0)
1
>>> x
[2]
remove用于移除列表中某个值的第一个匹配项
>>> x = [1,2,3,1]
>>> x.remove(1)
>>> x
[2, 3, 1]
reverse将列表中的元素反向存放,reversed返回一个迭代器
>>> x = [1,2,3]
>>> x.reverse()
>>> x
[3, 2, 1]
>>> x
[3, 2, 1]
>>> list(reversed(x))
[1, 2, 3]
sort排序
>>> x = [2,3,4,1,9,3,2]
>>> x.sort()
>>> x
[1, 2, 2, 3, 3, 4, 9]
>>> x = [2,3,4,1,9,3,2]
>>> y = x.sort() # don't do this!
>>> print y
None
>>> x = [2,3,4,1,9,3,2]
>>> y = x[:] # x[:]是包含了x所有元素的分片,是一种很有效率的复制整个列表的方法
>>> y.sort()
>>> y
[1, 2, 2, 3, 3, 4, 9]
>>> x
[2, 3, 4, 1, 9, 3, 2]
>>> x = [2,3,4,1,9,3,2]
>>> y = x # 都指向同一个列表了
>>> y.sort()
>>> y
[1, 2, 2, 3, 3, 4, 9]
>>> x
[1, 2, 2, 3, 3, 4, 9]
>>> x = [2,3,4,1,9,3,2]
>>> y = sorted(x) # 另一种方法
>>> x
[2, 3, 4, 1, 9, 3, 2]
>>> y
[1, 2, 2, 3, 3, 4, 9]
>>> sorted('Python') # 这个函数可以用于任何序列,总是返回一个列表
['P', 'h', 'n', 'o', 't', 'y']
对列表按相反的顺序排列,可以用
高级排序
>>> cmp(33,11)
1
>>> cmp(1,1)
0
>>> cmp(32,44)
-1
>>> numbers = [3,4,1,9]
>>> numbers.sort(cmp)
>>> numbers
[1, 3, 4, 9]
>>> x = ['abcd','a','abc']
>>> x.sort(key=len) # sort方法有两个可选的参数--key和reverse
>>> x
['a', 'abc', 'abcd']
>>> x = ['abcd','a','abc']
>>> x.sort(reverse=True) # 指明列表是否要进行反向排序
>>> x
['abcd', 'abc', 'a']
7.元组:不可变序列(唯一不同是元组不能修改)
>>> 1,2,3
(1, 2, 3)
>>> 'a','b','c'
('a', 'b', 'c')
>>> 4,
(4,)
>>> 3*(10+2,) # 逗号是关键啊
(12, 12, 12)
tuple函数
功能和list基本一样,以一个序列作为参数并把它转换为元组,和list一样,不是真正的函数,是一种类型
>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple('abc')
('a', 'b', 'c')