列表用法補充

列表屬於序列中的一種,序列包括(列表,元組,字符串,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]]
相關文章
相關標籤/搜索