Python a和a[:]的区别
生活随笔
收集整理的這篇文章主要介紹了
Python a和a[:]的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
簡單來講a[:]是深復(fù)制,a是淺復(fù)制,相當(dāng)于賦值a的話是賦值了指針,賦值a[:]相當(dāng)于復(fù)制了a對應(yīng)的那段空間
例如:
a = [1,1,1,1,1,1]for x in a:if x==1:a.remove(x)print(a)運(yùn)行結(jié)果:
remove操作是移除序列中第一個x元素。
這顯然不是我們想要看到的結(jié)果,在上面這種操作中我們移除的其實是前三個元素
解決方法就是:
運(yùn)行結(jié)果:
當(dāng)我們使用a[:]時,我們在循環(huán)中訪問的其實是a的一個副本,這個副本和a中的內(nèi)容完全相同,所以我們可以在a已經(jīng)修改的情況下進(jìn)行remove操作。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Python a和a[:]的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都大熊猫繁育基地小朋友没户口簿
- 下一篇: Python3常用数据结构