列表屬於序列中的一種,序列包括(列表,元組,字符串,buffer對象,xrange對象)python
列表跟元組惟一的區別就是:列表能夠修改,元組不能被修改(元組不可修改的屬性決定了元組能夠在映射中看成鍵使用;能夠做爲不少內建函數和方法的返回值存在)函數
以前在python基礎篇中有總結過列表的基本用法,在這裏作一下列表用法的補充:spa
a=['tina fei',18] b=['tom li',22] c=[a,b] print(c) print(c[0]) 執行結果: [['tina fei', 18], ['tom li', 22]] ['tina fei', 18]
phoneNumbers = ['213123','542113','543231','974723'] names=['Ada', 'Bill', 'Candy', 'David'] a=phoneNumbers[names.index('Bill')] print(a)#542113
切片用法的案例補充:code
#切片的用法補充 data=[1,2,3,4,5,6,7,8,9,10] print(data[-3:-1]) print(data[-3:]) print(data[::2])##從第三個開始是對步長的練習print(data[1::2]) print(data[::-1]) print(data[-1:-8:-1]) print(data[8:1:-1]) 執行結果以下: [8, 9] [8, 9, 10] [1, 3, 5, 7, 9] [2, 4, 6, 8, 10] [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] [10, 9, 8, 7, 6, 5, 4] [9, 8, 7, 6, 5, 4, 3]
分片賦值的用法:對象
data=[1,2,3,4,5,6,7,8,9,10] data[0]=100#索引賦值 del(data[2])#刪除元素 data[1:4]=list('tina')#分片賦值 print(data,len(data))#[100, 't', 'i', 'n', 'a', 6, 7, 8, 9, 10] 10 data[-2:]=list('hahaha')#分片賦值時,原片與新片長度不一樣 print(data,len(data))#[100, 't', 'i', 'n', 'a', 6, 7, 8, 'h', 'a', 'h', 'a', 'h', 'a'] 14 data[0:0]=list('test')#分片賦值能夠在指定位置插入新的元素 print(data,len(data))#['t', 'e', 's', 't', 100, 't', 'i', 'n', 'a', 6, 7, 8, 'h', 'a', 'h', 'a', 'h', 'a'] 18 深淺拷貝中涉及到的列表分片: x=list('12345') y=x x.reverse() print(y)#['5', '4', '3', '2', '1']這裏的y也跟着改變了 #可是用分片的方法複製,x與Y是相互獨立的,修改x,不會影響Y y=x[:] y.sort() print(x,y)#['5', '4', '3', '2', '1'] ['1', '2', '3', '4', '5']
序列與運算符相結合的用法:blog
1、加法: first=[1,2,3] second=[2,3,4] print(first+second)#[1, 2, 3, 2, 3, 4] 2、乘法: first=[1,2,3] print(first*3) print([None]*2) 執行結果: [1, 2, 3, 1, 2, 3, 1, 2, 3] [None, None]
just for fun:打印盒子的案例(練習序列與運算符的用法)索引
mystr=input('input any string follow your heart:') strlen=len(mystr) linestart=20 print(' '*linestart+'+'+'-'*strlen+'+') print(' '*linestart+'|'+' '*strlen+'|') print(' '*linestart+'|'+mystr+'|') print(' '*linestart+'|'+' '*strlen+'|') print(' '*linestart+'+'+'-'*strlen+'+') 執行結果以下: input any string follow your heart:I am falling in love with tina! +-------------------------------+ | | |I am falling in love with tina!| | | +-------------------------------+
列表推導式字符串
matix=[[0 for i in range(4)] for i in range(4)] # 用列表推導式初始化生成一個4*4的列表,列表元素全爲 0 執行結果以下: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]