Python 快速教程(補充篇01): Python的序列的方法

發表於2015-11-03

快速教程中,我們瞭解了最基本的序列(sequence)。回憶一下,序列包含有定值表(tuple)和表(list)。此外,字串(string)是一種特殊的定值表。表的元素可以更改,定值表一旦建立,其元素不可更改。

 

任何的序列都可以引用其中的元素(item)。

 

下面的內建函式(built-in function)可用於序列(表,定值表,字串):

# s為一個序列

len(s)         返回: 序列中包含元素的個數

min(s)         返回: 序列中最小的元素

max(s)         返回: 序列中最大的元素

all(s)         返回: True, 如果所有元素都為True的話

any(s)         返回: True, 如果任一元素為True的話

 

下面的方法主要起查詢功能,不改變序列本身, 可用於表和定值表:

sum(s)         返回:序列中所有元素的和

# x為元素值,i為下標(元素在序列中的位置)

s.count(x)     返回: x在s中出現的次數

s.index(x)     返回: x在s中第一次出現的下標

 

由於定值表的元素不可變更,下面方法只適用於表:

# l為一個表, l2為另一個表

l.extend(l2)        在表l的末尾新增表l2的所有元素

l.append(x)         在l的末尾附加x元素

l.sort()            對l中的元素排序

l.reverse()         將l中的元素逆序

l.pop()             返回:表l的最後一個元素,並在表l中刪除該元素

del l[i]            刪除該元素

(以上這些方法都是在原來的表的上進行操作,會對原來的表產生影響,而不是返回一個新表。)

 

下面是一些用於字串的方法。儘管字串是定值表的特殊的一種,但字串(string)類有一些方法是改變字串的。這些方法的本質不是對原有字串進行操作,而是刪除原有字串,再建立一個新的字串,所以並不與定值表的特點相矛盾。

#str為一個字串,sub為str的一個子字串。s為一個序列,它的元素都是字串。width為一個整數,用於說明新生成字串的寬度。

str.count(sub)       返回:sub在str中出現的次數

str.find(sub)        返回:從左開始,查詢sub在str中第一次出現的位置。如果str中不包含sub,返回 -1

str.index(sub)       返回:從左開始,查詢sub在str中第一次出現的位置。如果str中不包含sub,舉出錯誤

str.rfind(sub)       返回:從右開始,查詢sub在str中第一次出現的位置。如果str中不包含sub,返回 -1

str.rindex(sub)      返回:從右開始,查詢sub在str中第一次出現的位置。如果str中不包含sub,舉出錯誤

 

str.isalnum()        返回:True, 如果所有的字元都是字母或數字

str.isalpha()        返回:True,如果所有的字元都是字母

str.isdigit()        返回:True,如果所有的字元都是數字

str.istitle()        返回:True,如果所有的詞的首字母都是大寫

str.isspace()        返回:True,如果所有的字元都是空格

str.islower()        返回:True,如果所有的字元都是小寫字母

str.isupper()        返回:True,如果所有的字元都是大寫字母

 

str.split([sep, [max]])    返回:從左開始,以空格為分割符(separator),將str分割為多個子字串,總共分割max次。將所得的子字串放在一個表中返回。可以str.split(‘,’)的方式使用逗號或者其它分割符

str.rsplit([sep, [max]])   返回:從右開始,以空格為分割符(separator),將str分割為多個子字串,總共分割max次。將所得的子字串放在一個表中返回。可以str.rsplit(‘,’)的方式使用逗號或者其它分割符

 

str.join(s)                返回:將s中的元素,以str為分割符,合併成為一個字串。

str.strip([sub])           返回:去掉字串開頭和結尾的空格。也可以提供引數sub,去掉位於字串開頭和結尾的sub

str.replace(sub, new_sub)  返回:用一個新的字串new_sub替換str中的sub

str.capitalize()           返回:將str第一個字母大寫

str.lower()                返回:將str全部字母改為小寫

str.upper()                返回:將str全部字母改為大寫

str.swapcase()             返回:將str大寫字母改為小寫,小寫改為大寫

str.title()                返回:將str的每個詞(以空格分隔)的首字母大寫

 

str.center(width)          返回:長度為width的字串,將原字串放入該字串中心,其它空餘位置為空格。

str.ljust(width)           返回:長度為width的字串,將原字串左對齊放入該字串,其它空餘位置為空格。

str.rjust(width)           返回:長度為width的字串,將原字串右對齊放入該字串,其它空餘位置為空格。

 

相關文章