第一章 列表和元组
2.1 python的六种内建序列:列表,元组,字符串,unicode字符串,buffer对像,xrange对象
注:列表可以修改,元组不可以
>>> retacn=['retacn',30]
>>> yue=['yue',32]
>>> database=[retacn,yue]
>>> database
[['retacn', 30], ['yue', 32]]
2.2 通用序列的操作 :索引,分片,加,乘,检查所属
==============索引: 访问指定编号元素
>>>greeting="hello";
>>> greeting[0]
'h'
>>> greeting[-1] #最后一位元素的索引是-1
'o'
============分片:访问一定范围内元素
>>> tag="<a href='http://www.retacn.com'>retacn</a>"
>>> tag[9:30] #第一个索引包含在内,第二个索引不在分片内
'http://www.retacn.com'
>>> tag[-3:] #取得尾部元素
'/a>'
>>> tag[:3] #从头部取元素
'<a '
#更大的步长
>>>number=[1,2,3,4,5,6,7,8,9,10]
>>> number
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> number[1:3]
[2, 3]
>>> number[0:10:1]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> number[0:10:2]
[1, 3, 5, 7, 9]
>>> number[3:6:3]
[4]
============序列相加 +
>>> [1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
>>> 'hello'+' world'
'hello world'
>>> 'hello'+[1,2,3] #字符串和列表是不能相加的
Traceback (most recent call last):
File"<stdin>", line 1, in <module>
TypeError: Can't convert 'list' object to str implicitly
===========乘法 *
>>>'python'*6
'pythonpythonpythonpythonpythonpython'
>>> [3]*7
[3, 3, 3, 3, 3, 3, 3]
>>> sequence=[None]*10 #初始化为空
>>> sequence
[None, None, None, None, None, None, None, None, None, None]
============成员资格 in
>>>name='retacn'
>>> 'r' in name
True
=============长度len,最大值max和最小值min
>>>number=[10,20,30]
>>> len(number)
3
>>> max(number)
30
>>> min(number)
10
2.3 列表
#List函数
>>> name=list('retacn')
>>> name
['r', 'e', 't', 'a', 'c', 'n']
=========基本的列表操作
#元素赋值
>>> x=[1,1,1,1]
>>> x[1]=2
>>> x
[1, 2, 1, 1]
>>>
#删除元素
>>> names=['retacn','yue']
>>> del names[1]
>>> names
['retacn']
#分片赋值
>>> name=list('retacn')
>>> name
['r', 'e', 't', 'a', 'c', 'n']
>>> name[2:]=list('en')
>>> name
['r', 'e', 'e', 'n']
========列表方法
#Append,追加新对象
>>> tmp=[1,2,3]
>>> tmp.append(4)
>>> tmp
[1, 2, 3, 4]
>>>
#Count:统计元素在列表中出现次数
>>> ['one','two','one','one'].count('one')
3
#Extend:末尾一次性追加一个列表中的多个值
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
>>>
#Index:某个值在列表中第一个匹配项的索引
>>>number=['one','two','three','four','five','six','seven']
>>> number
['one', 'two', 'three', 'four', 'five', 'six', 'seven']
>>> number.index('six')
5
#Insert:将对象插入到列表中
>>> number=[1,2,3,5,6]
>>> number.insert(3,'four')
>>> number
[1, 2, 3, 'four', 5, 6]
#Pop:移除列表中的一个元素(默认是最后一项)
>>> tmp=[1,2,3]
>>> tmp
[1, 2, 3]
>>> tmp.pop()
3
>>> tmp
[1, 2]
#Remove:移除列表中某个值的第一个匹配项
>>> number
[1, 2, 3, 'four', 5, 6]
>>> number.remove('four')
>>> number
[1, 2, 3, 5, 6]
#Reverse:将列表中的元素反向存放
>>> number
[1, 2, 3, 5, 6]
>>> number.reverse()
>>> number
[6, 5, 3, 2, 1]
#Sort:对列表进行排序
>>> number.sort()
>>> number
[1, 2, 3, 5, 6]
#高级排序:sort有三个参数:
Cmp 自定义排序方式
Key
Reverse
2.4 元组不可变序列
>>> 1,2,3
(1, 2, 3)
>>>(1,2,3)
(1, 2, 3)
>>>3, #一个值
(3,)
>>>() #没有值
()
=======tuple
>>>tuple([1,2,3])
(1, 2, 3)
>>>tuple((1,2,3))
(1, 2, 3)
>>>tuple('abc')
('a', 'b','c')
======创建和访问
>>>tmp=1,2,3
>>>tmp
(1, 2, 3)
>>>tmp[1]
2
>>>tmp[0:2]
(1,2)