注:本文件主要是學習《python核心程式設計(第二版)》時做的資料整理。
序列的成員是有序排列的,並且可以通過下標偏移量訪問到它的乙個或者幾個成員,包括字串(普通字串和unicode字串)、列表和元組型別。下標偏移量從0開始到總元素-1結束。
成員關係操作符:用來判斷乙個元素是否屬於乙個序列。in/not in操作符返回值一般就是true/false,語法為: 物件 [not] in 序列
1 >>> list = [1, 2, 3]允許把乙個序列和另乙個相同型別的序列做連線sequence1 + sequence2,這種方法不是最高效的;2 >>> 1 in
list
3true
4 >>> 4 in
list
5 false
1 >>> str1 = '對於字串,可將所有的子字串放在乙個列表或可迭代物件中,然後呼叫join方法來把所有的內容連線在一起以節約記憶體;對列表來說,可用列表的extend()方法來把兩個或者多個列表物件合併。hello
'2 >>> str2 = '
world
'3 >>> str1 +str24'
helloworld
'
1 >>> str3 = ''sequence * copies_int,copies_int必須是乙個整型,不能是長整型。該操作符返回乙個新的包含多份原物件拷貝的物件。2 >>>str3.join([str1, str2])3'
helloworld
'
1 >>> s1 = 'ha'訪問某乙個資料元素的語法:sequence[index]。範圍從0到偏移值最大值(比序列長度少一),用len()函式可以得到序列長度,實際的範圍是0<= index <= len(sequence)-1。使用負數索引,範圍是-1到序列的負長度-len(sequence),-len(sequence) <= index <= -12 >>> s1*33'
hahaha
'
1 >>> print ('訪問多個元素:sequence[starting_index: ending_index],可得到從起始索引到結束索引之間的乙個"片"元素。faye
', '
leanna
', '
daylen
')[1]
2 leanna
1序列操作符作用seq[ind]sequence[starting_index: ending_index, step]
2 >>> s = '
abcdefghijk
'3 >>> s[::-1]4'
kjihgfedcba
'5 >>> s[::2]6'
acegik
'7 >>>
8 >>> a = '
abcde
'9 >>> for i in [none] + range(-1, -len(a), -1):
10 ... print
a[:i]
11...
12abcde
13abcd
14abc
15ab
16 a
獲取下標為ind的元素
seq[ind1:ind2]
獲取下標從ind1到ind2間的元素集合
seq*expr
序列重複expr次
seq1 + seq2
連線序列seq1和seq2
obj in seq
判斷obj元素是否包含在seq中
obj not in seq
判斷obj元素是否不包含在seq中
內建函式list()、str()和tuple()被用作在各種型別之間轉換,這些函式都是工廠函式,將物件作為引數,並將其內容(淺拷貝)到生成的物件中。
一旦乙個物件被建立,就不能改變其身份或型別,把乙個列表物件傳給list()函式,會建立乙個這個物件的淺拷貝,然後將其插入新的列表中。所謂淺拷貝就是只拷貝這個物件的索引,而不是建立了乙個物件。
函式
含義
list(iter)
把可迭代物件轉換為列表
str(obj)
把obj物件轉換為字串(物件的字串表示法)
unicode(obj)
把物件轉換為unicode字串(使用預設編碼)
basestring()
抽象工廠函式,其作用僅僅是為str和unicode函式提供父類,所以不能被例項化,也不能被呼叫
tuple(item)
把乙個可迭代物件轉換為乙個元組物件
1 >>> obj = list(x for x in range(10))序列型別可用的內建函式如下:2 >>>obj
3 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
4 >>>str(obj)5'
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
'6 >>>tuple(obj)
7 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
8 >>>unicode(obj)
9 u'
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
'
函式名
功能
enumerate(iter)
接受乙個可迭代物件作為引數,返回乙個enumerate物件(同時也是乙個迭代器),該物件生成由iter每個元素的index值和item值組成的陣列
len(seq)
返回seq的長度
max(iter, key=none) or max(arg0, arg1,…, key=none)
返回iter或(arg0, arg1,…)中的最大值,如果指定了key,這個key必須是乙個可以傳給sort()方法的,用於比較的**函式
min(iter, key=none) or min(arg0, arg1,…, key=none)
返回iter或(arg0, arg1,…)中的最小值,如果指定了key,這個key必須是乙個可以傳給sort()方法的,用於比較的**函式
sorted(iter, func=none, key=none, reverse=false)
接受乙個可迭代物件,返回乙個有序的列表,可選引數func、key和reverse的含義跟list.sort()內建函式的引數含義一樣
sum(seq, init=0)
返回seq和可選引數init的總和,其效果等同於reduce(operator,add,seq,init)
zip(it0, it1, … , itn)
返回乙個列表,其第乙個元素是it0、it1…這些元素的第乙個元素組成的乙個元組,第二個。。。依此類推
後面詳細介紹字串、列表和元組時再詳細介紹這些函式。
python資料型別 列表(序列型別)
序列的取值方法 索引操作符 和 切邊操作符,字串和元組類似,定義完成後,資料的值不可改變,list 空列表 type list list csdn 23,字元搬運工 lst 0 csdn 取值 切片和索引 list 新增 刪除 del list list.remove list list.remov...
python 資料型別 序列型別 元組
列表 打了激素的陣列 元組 帶了緊箍咒的列表 不可變資料型別,沒有增刪改 可以儲存任意資料型別 t 1,1.2,true,westos print t,type t 定義乙個空元組 li print li,type li t2 tuple li print t2,type t2 定義乙個只有乙個元素...
python資料型別 序列 元組
元組是一種不可變型別,元組可用作乙個字典的key。atuple 123,abc inner tuple 7 9j 元組的切片操作和列表一樣,用方括號作為切片操作 裡面寫上索引值或者索引範圍 1 atuple 2 2 123,abc 元組是不可變型別,不能更新或改變元組的元素,可通過現有元組的元組片段...