Python中a和a[:]有什么区别?
生活随笔
收集整理的這篇文章主要介紹了
Python中a和a[:]有什么区别?
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- []是引用 傳址調(diào)用
- [:] 是復(fù)制 傳值調(diào)用
發(fā)現(xiàn)用b=a[:], 再給b賦值, 不會(huì)影響a; 直接給a[:]賦值卻會(huì)影響a
a=5b=aprint(a,b)b=3print(a,b)a=6print(a,b)5 5 5 3 6 3c=[1,2,3,4]d=cprint(c,d)c[0]=5print(c,d)d[0]=6print(c,d)[1, 2, 3, 4] [1, 2, 3, 4] [5, 2, 3, 4] [5, 2, 3, 4] [6, 2, 3, 4] [6, 2, 3, 4]c=[1,2,3,4]d=c[:]print(c,d)c[0]=5print(c,d)d[0]=6print(c,d)[1, 2, 3, 4] [1, 2, 3, 4] [5, 2, 3, 4] [1, 2, 3, 4] [5, 2, 3, 4] [6, 2, 3, 4]c=[1,2,[1,2,3],3,4]d=c[:] # 沒(méi)有限制條件的分片表達(dá)式(L[:])能夠復(fù)制序列,但此法只能淺層復(fù)制; 在有嵌套情況跟著一起變化print(c,d)c[0]=5c[2][0]=7print(c,d)d[0]=6print(c,d)[1, 2, [1, 2, 3], 3, 4] [1, 2, [1, 2, 3], 3, 4] [5, 2, [7, 2, 3], 3, 4] [1, 2, [7, 2, 3], 3, 4] [5, 2, [7, 2, 3], 3, 4] [6, 2, [7, 2, 3], 3, 4]import copyc=[1,2,3,4]d=copy.deepcopy(c)print(c,d)c[0]=5print(c,d)d[0]=6print(c,d)[1, 2, 3, 4] [1, 2, 3, 4] [5, 2, 3, 4] [1, 2, 3, 4] [5, 2, 3, 4] [6, 2, 3, 4]a = [0, [1, 2], 3]b = a[:]a[0] = 8a[1][1] = 9print(a,b)[8, [1, 9], 3] [0, [1, 9], 3] ''' 學(xué)習(xí)中遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import copya = [0, [1, 2], 3]b = copy.deepcopy(a)a[0] = 8a[1][1] = 9print(a,b)[8, [1, 9], 3] [0, [1, 2], 3]總結(jié)
以上是生活随笔為你收集整理的Python中a和a[:]有什么区别?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python下几种打开文件的方式
- 下一篇: python基础入门:内置函数之排列组合