1.切片的應(yīng)用
創(chuàng)新互聯(lián)公司主要從事網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、響應(yīng)式網(wǎng)站設(shè)計(jì)、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、成都小程序開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營銷、管理等多方位專業(yè)化運(yùn)作于一體。
(1)復(fù)制列表: 直接賦值新的列表和用切片得到的新列表的區(qū)別?
使用直接賦值新列表的方式并且查看在內(nèi)存中的位置,這種方式兩個(gè)列表在內(nèi)存中的位置是一樣,一個(gè)列表改變另一個(gè)也會(huì)跟著改變
>>> a = [1, 2, 3] >>> b = a >>> id(a) 139827490542536 >>> id(b) 139827490542536 >>> a[0] = 0 >>> b[0] 0 >>> b [0, 2, 3]
用切片得到的列表是一個(gè)全新的列表,不會(huì)跟著之前的列表改變,列表在內(nèi)存中的位置也不會(huì)改變
>>> c = a[:] >>> c [0, 2, 3] >>> a [0, 2, 3] >>> a[0] = 1 >>> a [1, 2, 3] >>> c [0, 2, 3] >>> id(a) 139827490542536 >>> id(c) 139827490544840
(2)反轉(zhuǎn)list
讓list反序排列 step = -1時(shí) list就會(huì)反轉(zhuǎn)
>>> a [1, 2, 3] >>> a[::-1] [3, 2, 1]
(3)獲取索引編號(hào)都是偶數(shù)的列表元素
>>> a [1, 2, 3] >>> a[::2] [1, 3]
(4)獲取索引編號(hào)都是奇數(shù)的列表元素
>>> a [1, 2, 3] >>> a[1::2] [2]
(5)使用切片對(duì)列表進(jìn)行增刪改
通過切片使列表變成一個(gè)空列表
>>> a [1, 2, 3, 1, 2, 4] >>> a[:] = [] >>> a []
通過切片改變列表元素的值
>>> a [1, 2, 3, 5, 6] >>> a[2:3] [3] >>> a[2:3] = [4,1] >>> a [1, 2, 4, 1, 5, 6]
通過切片刪除列表的元素
>>> a [1, 2, 4, 1, 5, 6] >>> a[2:5] = [] >>> a [1, 2, 6]
2.切片的函數(shù)
查看切片的函數(shù)有哪些?
dir(list)
查看函數(shù)的使用幫助?
help(list.函數(shù)名)
(1)append 函數(shù) 做列表追加
>>> a [1, 2, 6] >>> a.append(5) >>> a [1, 2, 6, 5]
(2)clear函數(shù) 情況列表的元素
>>> a [1, 2, 6, 5] >>> a.clear() >>> a []
a.clear() 和 a = [] 的區(qū)別?
在內(nèi)存中的位置改變了
>>> a [1, 2, 5, 6] >>> id(a) 139827490570312 >>> a = [] >>> id(a) 139827490545224
(3)copy 函數(shù) 復(fù)制一個(gè)列表
>>> a = [1, 2] >>> b = a.copy() >>> b [1, 2] >>> id(a) 139827490570312 >>> id(b) 139827490545480
(4)count 函數(shù) 統(tǒng)計(jì)value出現(xiàn)的次數(shù)
>>> a [1, 2, 1, 2] >>> a.count(1) 2 >>> a.count(2) 2
(5)extend 函數(shù) 擴(kuò)展元素
>>> a [1, 2, 1, 2] >>> a.extend('456') >>> a [1, 2, 1, 2, '4', '5', '6']
extend 函數(shù)和 append 函數(shù)的區(qū)別?
>>> a.extend('456') >>> a [1, 2, 1, 2, '4', '5', '6'] >>> a.append(456) >>> a [1, 2, 1, 2, '4', '5', '6', 456]
extend 是把要添加的東西拆分成一個(gè)個(gè)元素添加在后邊,append 是把要添加的作為一個(gè)整體作為一個(gè)整體
(6)index 函數(shù) 用來獲取元素索引編號(hào)
>>> a [1, 2, 1] >>> a.index(1) 0 >>> a.index(2) 1
(7)insert 函數(shù) 插入元素 (在指定的索引編號(hào)之前插入)
>>> a [1, 2, 1] >>> a.insert(1,3) >>> a [1, 3, 2, 1]
(8)pop 函數(shù) 移除并返回元素值(默認(rèn)是刪除最后一個(gè)元素,可以指定刪除的元素,需要指定索引編號(hào))
a.pop(索引編號(hào)) 不寫索引編號(hào) 默認(rèn)是刪除最后一個(gè)
>>> a [1, 3, 2, 1] >>> a.pop() 1 >>> a [1, 3, 2]
(9)remove 函數(shù) 移除第一個(gè)匹配到的value
>>> a [1, 3, 2, 1] >>> a.remove(1) >>> a [3, 2, 1]
(10)reverse 函數(shù) 反轉(zhuǎn)
>>> a [3, 2, 1] >>> a.reverse() >>> a [1, 2, 3]
reverse 函數(shù)和 切片反轉(zhuǎn)的區(qū)別?
reverse 改變了原來的列表 切片的反轉(zhuǎn)沒有改變?cè)瓉淼膌ist
(11)sort 函數(shù) 排序
>>> a[2:3] = [6,5] >>> a [1, 2, 6, 5] >>> a.sort() >>> a [1, 2, 5, 6]