1. Python中常見的數據結構能夠統稱爲容器(container)。序列(如列表和元組)、映射(如字典)以及集合(set)是三類主要的容器。數據結構
2. 序列中每一個元素都有編號或者索引,映射中每一個元素都有一個名字或者鍵。app
3. 六種內建序列:列表、元組、字符串、Unicode字符串、buffer對象和xrang對象。ide
4. 列表和元組的主要區別:列表能夠修改,元組不能。函數
5. 序列的內容能夠是數字、字符或者其餘數據結構。spa
6. 序列的索引從0開始,-1是最後一個元素的索引。code
7. 分片操做:冒號分隔,左閉右開;左索引比右索引晚出現,則返回空序列;不指定索引爲最開始或者最末端;對象
>>> numbers=[1,2,3,4,5,6,7,8,9,10]排序
>>> numbers[3:6]索引
[4, 5, 6]rem
>>> numbers[-3:-1]
[8, 9]
>>> numbers[-3:1]
[]
>>> numbers[:3]
[1, 2, 3]
>>> numbers[-4:]
[7, 8, 9, 10]
8. 分片步長:默認步長爲1,不能爲0,左閉右開;整數步長,從左提取元素;負數步長,從右提取元素;負數步長,左索引比右索引早出現,則返回空序列;
>>> numbers=[1,2,3,4,5,6,7,8,9,10]
>>> numbers[1:5:2]
[2, 4]
>>> numbers[10:5:-2]
[10, 8]
>>> numbers[:5:-2]
[10, 8]
>>> numbers[5::-2]
[6, 4, 2]
>>> numbers[0:5:-2]
[]
9.相同類型的序列能夠經過相加:+;序列*數字x,原序列會被重複x次。
10. 空列表[],有元素但元素沒有意義的空列表:[None]*10
11. in運算符:檢查元素是否在序列中,返回布爾結果
>>> subject='$$$ Get rich now!!! $$'
>>> '$$$' in subject
True
>>> users=['a1','a2','a4']
>>> 'a3' in users
False
12. len()/max()/min() 返回序列的長度/最大元素/最小元素.
13. 經常使用list()函數操做字符串產生列表
>>> list('Hellp')
['H', 'e', 'l', 'l', 'p']
14. 列表操做:元素賦值numbers[2]=90; 刪除元素del numbers[5]; 分片賦值:
>>> name=list("Perl")
>>> name
['P', 'e', 'r', 'l']
>>> name[1:]=list("ython")
>>> name
['P', 'y', 't', 'h', 'o', 'n']
>>> numbers=[1,5]
>>> numbers[1:1]=[2,3,4]
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers[1:3]=[]
>>> numbers
[1, 4, 5]
15. 列表方法:<注意方法和函數的區別以及是否會返回結果副本>
append()末尾追加新元素;
count()統計某元素出現次數;
extend()末尾追加另外一個序列;
index()返回列表中某元素第一個匹配項的索引位置;
insert(index,***)將對象插入到列表某一個位置;
pop(index)移除列表中某一位置的元素,不指定index是最後一個,而且返回該元素的值;
remove()移除列表中某元素的第一個匹配項;
reverse()將列表中的元素反向存放;
sort()在原位置對列表按必定的順序排序;sorted(x)函數同樣,可是會返回對序列x排序後的副本;二者能夠有參數指定排序使用的方法:sort(cmp)/sort(key=len)/sort(reverse=True);
cmp(x,y)函數,x<y返回負數;x>y返回正數;x=y返回0;
16. 元組用()表示,用逗號分隔;空元組(),只有一個值的元組(2,); tuple()函數功能和list()函數相似。