python序列學習

一、概述:

python包含6種內建序列:列表、元組、字符串、Unicode字符串、buffer對象、xrange對象

二、序列通用的操作:

索引:序列中每個元素都有一個序列號(稱爲索引),從0開始,這些序列中的元素都可通過索引來訪問(如:XX[0]或XX[-1])

分片:可以使用分片操作獲取一定範圍內的元素,規則:取前不取後;格式:X[開始索引:結束索引:步長],步長不寫時默認爲1(如:x[3:6]取第3、4、5個元素;x[-3:]、x[:5]、x[:])

加(+):相同類型的系列可通過+進行連接,如[1,2,3]+[4,5,6] 結果:[1,2,3,4,5,6] 

乘(*):用數字x乘以序列會生成新序列,新序列是原來的序列被重複x次,如:[42,43,40]*2結果:[42, 43, 40, 42, 43, 40]

成員資格(in):使用 in檢查一個值是否在序列中,條件爲真返回True,條件爲假返回False

計算序列長度(len):len函數返回序列中所包含元素的數量;len([42,43,40]) 結果3

最大元素(max):max函數返回序列中最小元素;max([42,43,40])結果 43

最小元素(min):min函數返回序列中最小元素 ; min([42,43,40]) 結果 40

三、列表

創建列表:只要把逗號分隔的不同的數據項使用方括號[ ]括起來即可

特性:列表內容是可改變的

list函數:將系列轉換爲列表;list('hello');輸出結果:['h', 'e', 'l', 'l', 'o']

基本列表操作:

  1. 改變列表:元素賦值;x=[1,1],x[1]=2;print(x);結果:[1,2]
  2. 刪除元素:del x[1];print(x);結果:[1]
  3. 分片賦值:x=[1,5]; x[1:]=[2,3,4,6,7,8];print(x);結果:[1,2,3,4,6.7,8]

列表方法:

  1. append方法:用於在列表末尾追加新的對象,會修改原有列表;x=[1,5] ;x.append(4) ; print(x);結果:[1,5,4]
  2. count:統計某個元素在列表中出現的次數;[1,5,1,1].count(1); 結果:3
  3. extend:在列表的末尾一次性追加另一個序列中的多個值,會修改原有列表;a=[1,2],b=[4,5,6];a.extend(b);print(a);     結果:[1,2,4,5,6]
  4. index:從列表中找出某個值,第一個匹配項的索引位置
  5. insert:用於將對象插入到列表中;a=[1,5,2,1];a.insert(2,'four') ;print(a);結果:[1,5,2,'four',1]
  6. pop:移除列表中的一個元素(默認最後一個),並返回該元素的值; a=[1,5,6];print(a.pop() ,a.pop(1));結果:6,5; print(a);結果:[1]
  7. remove:用於移除列表中某個值的第一個匹配項;  a=[1,5,1];a.remove(1) ,print(a);結果:[5,1]
  8. reverse:將列表中的元素反向存放;a=[1,5,2,5]; a.reverse();print(a)結果:[5, 2, 5, 1]
  9. sort:用於在原位置對列表進行排序;a=[1,5,2,4]; a.sort();print(a)結果:[1, 2, 4, 5]

四、元組

創建元組:只要把逗號分隔的不同的數據項使用括號( )括起來即可

特性:元組不能修改;如下修改元組是錯誤的

  • a=(1,2,3);
  • a[0]=3
  • Traceback (most recent call last):
  •   File "<pyshell#18>", line 1, in <module>
  •     a[0]=3
  • TypeError: 'tuple' object does not support item assignment

tuple函數:以一個序列做爲參數,把它轉換爲元組;tuple([1,2,3]) 輸出結果:(1, 2, 3)

元組基本操作:序列通用的操作

五、字符串

特性:字符串不能修改,如下修改字符串元素,是錯誤的

st='http://'
st[1:]='ttps'
Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    st[1:]='ttps'
TypeError: 'str' object does not support item assignment

字符串基本操作:序列通用的操作

字符串常用方法:

  1. find:可以在一個較長的字符串中查找子串,返回子串所有位置的最左端索引,沒找到返回-1;'Htoop,hoap'.find('o')
    2
  2. join:用來連接序列中的元素,被連接的序列元素都必須是字段串;('+').join(['1','2','3'])   '1+2+3'
  3. lower:返回字符串的小寫字母;'HtooP'.lower()   'htoop'
  4. upper:返回字符串的大寫字母; 'HtooP'.upper()    'HTOOP'
  5. replace:返回某個字符串的所有匹配項均被替換之後得到字符串
  6. split:是jion的逆方法,用傳入的參數將字符串分割成序列;'1+2+3'.split('+')   ['1', '2', '3']
  7. strip:返回去除兩側空格的字符串(不包括內部)' xxx '.strip(),也可去除兩側指定字符'*xxx*'.strip('*')
  8. translate:替換字符串中的某些部分的單個字符,可同時進行多個替換

字符串格式化:

字符串格式化操作符%:%左側旋轉一個字符串,右側則旋轉希望被格式化的值,多個值需要用元組,即使用()括起來

轉換說明符%s:標記需要插入置換值的位置

 f='hello,%s is %s enough'
val=('world','hot')
 print(f % val)
hello,world is hot enough

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章