2019-05-20

其他對(duì)象的切片操作

前面的切片操作說明都以list為例進(jìn)行說明,但實(shí)際上可進(jìn)行的切片操作的數(shù)據(jù)類型還有很多,包括元組、字符串等等。



>>>foriinrange(1,100)[2::3][-10:]:

print(i)

就是利用range函數(shù)生成1-99的整數(shù),然后取3的倍數(shù),再取最后十個(gè)。


常用切片操作

以列表:a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 為說明對(duì)象

1.取偶數(shù)位置

>>>b = a[::2][0,2,4,6,8]

2.取奇數(shù)位置

>>>b = a[1::2][1,3,5,7,9]

3.拷貝整個(gè)對(duì)象

>>>b = a[:]#★★★★★

>>>print(b)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>>print(id(a))#41946376

>>>print(id(b))#41921864

>>>b = a.copy()

>>>print(b)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>>print(id(a))#39783752

>>>print(id(b))#39759176

需要注意的是:[:]和.copy()都屬于“淺拷貝”,只拷貝最外層元素,內(nèi)層嵌套元素則通過引用,而不是獨(dú)立分配內(nèi)存。

>>>a = [1,2,['A','B']]

>>>print('a={}'.format(a))

>>>b = a[:]

>>>b[0] =9#修改b的最外層元素,將1變成9

>>>b[2][0] ='D'#修改b的內(nèi)嵌層元素

>>>print('a={}'.format(a))

>>>print('b={}'.format(b))

>>>print('id(a)={}'.format(id(a)))

>>>print('id(b)={}'.format(id(b)))

a=[1,2, ['A','B']]#原始a

a=[1,2, ['D','B']]#b修改內(nèi)部元素A為D后,a中的A也變成了D,說明共享內(nèi)部嵌套元素,但外部元素1沒變。

b=[9,2, ['D','B']]#修改后的b

id(a)=38669128

id(b)=38669192

4.修改單個(gè)元素

>>>a[3] = ['A','B']

[0,1,2, ['A','B'],4,5,6,7,8,9]

5.在某個(gè)位置插入元素

>>>a[3:3] = ['A','B','C'][0,1,2,'A','B','C',3,4,5,6,7,8,9]>>>a[0:0] = ['A','B']['A','B',0,1,2,3,4,5,6,7,8,9]

6.替換一部分元素

>>>a[3:6] = ['A','B'][0,1,2,'A','B',6,7,8,9]

作者:馬爾代夫Maldives

鏈接:http://www.itdecent.cn/p/15715d6f4dad

來源:簡(jiǎn)書

簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom閱讀 3,214評(píng)論 0 3
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,362評(píng)論 0 17
  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 10,592評(píng)論 0 13
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,920評(píng)論 0 13
  • 目錄: Android:Android 0.*Android 1.*Android 2.*Android 3.*A...
    敲代碼的令狐蔥閱讀 4,519評(píng)論 0 2

友情鏈接更多精彩內(nèi)容