python序列類型,python序列

來源:互聯網
上載者:User

python序列類型,python序列

在python中,序列類型包括字串(一般字元串和unicode字串)、列表元組,所謂序列,即成員有序排列,可通過下標訪問。假設序列有n個元素,訪問單個元素時,下標從0開始,到n-1結束,如果是逆序訪問,下標從-1開始,到-n結束,切片操作支援多個元素的訪問。

序列類型支援如下操作符——

in/not in:成員關係操作符

obj [not] in sequence:判斷obj元素是否(不)屬於sequence序列。

+:串連操作符

sequence1 + sequence2:串連兩個同類型序列。

*:重複操作符

sequence * copies_int:sequence序列重複copies_int次。

[][:][::]:切片操作符

sequence[index]:訪問單個元素。

sequence[starting_index:ending_index]:訪問始末下標間的元素,支援None作為索引值,等同於不指定這個索引值。

sequence[starting_index:ending_index:step]:訪問始末下標間的元素,指定元素間的步長支援None作為索引值,等同於不指定這個索引值。


序列類型可用如下內建函數——

list(iter):把可迭代對象轉換為列表。

str(obj):把obj對象轉換為字串,即用字串來表示這個對象。

tuple(iter):把一個可迭代對象轉換為一個元組。

unicode(obj):把對象轉換成Unicode字串。

basestring():抽象工廠函數,其作用僅僅是為str和unicode函數提供父類,所以不能被執行個體化,也不能被調用。

enumerate(iter):接受一個可迭代對象作為參數,返回一個enumerate對象,該對象產生由iter每個元素的index值和item值組成的元組。

len(seq):返回seq的長度。

max(iter,key=None)max(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最大值,如果指定了key,這個key必須是一個可以傳給sort()方法的,用於比較的回呼函數。

min(iter,key=None)min(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最小值,如果指定了key,這個key必須是一個可以傳給sort()方法的,用於比較的回呼函數。

reversed(seq):接受一個序列作為參數,返回一個以逆序訪問的迭代器。

sorted(iter,cmp=None,key=None,reverse=False):接受一個可迭代對象作為參數,返回一個有序的列表,選擇性參數cmp、key和reverse和list.sort()內建函數含義一樣。

sum(seq,init=0):返回seq和選擇性參數init的總和,其效果等同於reduce(operator.add,seq,init)。

zip([it0,it1...]):返回一個列表,其第一個元素是it0、it1...這些元素的第一個元素組成的一個元組,其它元素依次類推。


python字串——

字串類型是python裡面最常見的類型,是不可變類型,支援單引號、雙引號、三引號,三引號是一對連續的單引號或者雙引號,允許一個字串跨多行。

字串串連:前面提到的+操作符可用於字串串連,還可以直接把幾個字串連在一起寫,另外調用join()方法也可以連接字串。

只適用於字串串連的操作符:前面提到了一些序列類型共用的操作符,除此之外,字串還有只屬於自己的操作符,包括格式控制操作符%、字串模板string.Template、原始字串操作符r/R、Unicode字串操作符u/U。


下面列舉一些與字串類型有關的模組。

string:字串操作相關函數和工具,比如Template類。

re:Regex,強大的字串模式比對模組。

struct:字串和二進位之間的切換。

c/StringIO:字串緩衝對象,操作方法類似於file對象。

base64:Base16,32,64資料編解碼。

codecs:解碼器註冊和基類。

crypt:進行單方面加密。

difflib:找出序列間的不同。

hashlib:多種不同安全哈系演算法和資訊摘要演算法的API,python2.5廢除。

hma:HMAC資訊鑒權演算法的python實現。

md5:RSA的MD5資訊摘要鑒權。

rotor:提供多平台的加解密服務。

sha:NIAT的安全哈系演算法SHA。

stringprep:提供用於IP協議的Unicode字串。

textwrap:文本打包和填充。

unicodedata:Unicode資料庫。


python列表——

python列表用方括弧[]表示,有容器和可變的特性,這使得它非常靈活,用來構建其它的資料結構不是件難事,比如說堆棧或隊列。


python元組——

python元組用圓括弧()表示,是跟列表非常接近的另一種容器類型,不同的是,元組為不可變類型。所有多個物件的、逗號分隔的、沒有明確用符號定義的集合的預設類型為元組。


下面再列舉一些與序列類型有關的模組。

數組:一種受限制的可變序列類型,要求所有的元素必須都是相同的類型。

copy:提供淺拷貝和深拷貝能力,深拷貝deepcopy()只對可變類型有效。

operator:包含函數調用形式的序列操作符。

types:包含python支援的所有類型。

collections:高效能容器資料類型。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.