序列 序列:數學上,序列是被排成一列的對象(或事件);這樣,每個元素不是在器他元素之前,就是在其他元素之後。這裡元素之間的順序非常重要。《維基百科》 序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。 Python有 ...
序列
序列:數學上,序列是被排成一列的對象(或事件);這樣,每個元素不是在器他元素之前,就是在其他元素之後。這裡元素之間的順序非常重要。《維基百科》
序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
Python有6個序列的內置類型,但最常見的是列表和元組。
序列都可以進行的操作包括索引,切片,加,乘,檢查成員。
Python已經內置確定序列的長度以及確定最大和最小的元素的方法。
列表和字元串的比較
1、列表可修改,字元串不可修改
2、字元串和列表都是序列
3、列表可原地修改
4、列表有多維列表,而字元串沒有
5、字元串是不可改變的,列表可進行原地修改
1 >>> a=[1,2,3] 2 >>> id(a) 3 46281096L 4 >>> a.append(4) #追加一個元素,如果沒有返回值,這就是原地修改的一種外在表現 5 >>> a 6 [1, 2, 3, 4] 7 >>> id(a) #追加之後,列表在記憶體中的位置並沒有改變 8 46281096L 9 >>> a[1]=9 #列表也可以這樣修改,將索引位置為1的元素修改為9,列表可修改的特性 10 >>> a 11 [1, 9, 3, 4] 12 >>> b="python" 13 >>> b[1]="w" #用在字元串當中報錯,字元串不支持修改 14 Traceback (most recent call last): 15 File "<stdin>", line 1, in <module> 16 TypeError: 'str' object does not support item assignment23 >>> b[0]+"w"+b[2:] #如果某種業務需要字元串修改,可以這樣,但這種修改其實是又生成了一個字元串,而原來字元串並沒有發生變化 24 'pwthon' 25 >>> b #實際b字元串並沒有發生變化 26 'python' 27 >>> a 28 [1, 9, 3, 4] #一維列表 29 >>> m =[[1,2,3],[4,5,6],[7,8,9]] #多維列表 30 >>> m[1] 31 [4, 5, 6] 32 >>> m[1][0] 33 4 34 >>>
list() 與str() 列表與字元串之間的轉化
1 >>> b="python" 2 >>> b 3 'python' 4 >>> list(b) #字元串轉換為列表 5 ['p', 'y', 't', 'h', 'o', 'n'] 6 >>> a ="www.baidu.com" 7 >>> a.split(".") #字元串使用分隔符點號.分割成列表 8 ['www', 'baidu', 'com'] 9 >>> c =list(b) 10 >>> c 11 ['p', 'y', 't', 'h', 'o', 'n'] 12 >>> "".join(c) #再用join函數將列表c用空連接起來,轉換為字元串 13 'python' 14 >>> "-".join(c) #用join函數將列表c用減號連接起來 15 'p-y-t-h-o-n'