先來個簡單的操作:
a=[1,2,3]
b=ab.remove(1)
print('a=',a)
print('b=',b)
會發現結果:
a=[2,3]
b=[2,3]
是不是很奇怪,我修改b,為什麼a的值也跟著改變了呢?
——這種做法其實並未真正生成乙個新的列表,b指向的仍然是a所指向的物件。這樣,如果對a或b的元素進行修改,a,b的值同時發生變化。
所以要不改變a的值,需要使用copy來進行拷貝,此時進行如下操作:
a=[1,2,3]
b=a.copy()
b.remove(1)
print('a=',a)
print('b=',b)
會發現結果變成:
a=[1,2,3]
b=[2,3]
從而不會導致a的值的改變,此處的copy使用也可以用b=a[:]來代替
但是,需要注意的是:
如果a=[1,[2,3],4],此時的copy()會對a[1]進行複製引用處理,而不會形成新的表,舉例:
a=[1,[2
,3],4]
b=a.copy()
(5)print('a1=',a)
print('b1=',b)
(6)print('a2=',a)
print('b2=',b)
結果是:
a1=[1,[2,3,5],4]
b1=[1,[2,3,5],4]
a2=[1,[2,3,5],4]
b2=[1,[2,3,5],4,6]
從上可知,對b[1]進行操作,會影響a
那怎麼解決這個問題呢?這時就需要使用copy模組中的deepcopy函式了。
import
copy;
a=[1,[2
,3],4]
b=copy.deepcopy(a)
(5)print('a1=',a)
print('b1=',b)
(6)print('a2=',a)
print('b2=',b)
結果會是:
a1=[1,[2,3],4]
b1=[1,[2,3,5],4]
a2=[1,[2,3],4]
b2=[1,[2,3,5],4,6]
jquery使用列表標籤實現的可拖拽listbox
前兩天遇到朋友提到listbox.所以心血來潮,花了一下午時間自己使用jquery,利用列表標籤實現了乙個listbox.還未來得及優化,但功能已實現並可以使用,在此希望與大家分享 jquery listbox 2.2 效果圖 一.設計思路 1.標籤的使用 既然是列表,那無疑選擇使用列表標籤 ul,...
如何用li標籤來實現網頁導航選單
用li標籤來做導航選單是很多 都採用的方式,但是對於div css新手來說,用li標籤來實現網頁的導航選單並不容易,它涉及到浮動及內聯化和清除浮動這方面。在這裡,我寫了乙個例項,新手朋友可以參考一下它。這個例項的幾個要點在於 1 li標籤的css需要將float屬性設定為left 這裡就成了左浮動 ...
python list列表模組使用方法
my list 1,2,3,4,5 print my list 1 print my list 1 my list 1,2,3,4,5 print my list 1 4 my list 1 4 print my list 3 my list 3 print my list 1 my list 1 ...