將乙個列表的資料複製到另乙個列表中。使用列表[:],可以呼叫copy模組
importcopy
a = [21,22,23,24,['
a','
b','
c','
d'],25,26]
b = a #
直接賦值
c = a[:] #
淺拷貝d = copy.copy(a) #
淺拷貝e = copy.deepcopy(a) #
深拷貝#
看看深拷貝與淺拷貝的區別
#在a陣列的最尾處加乙個數
#在a陣列裡面的陣列最尾處加乙個數
print("
起始列表a------------>
",a)
print("
直接把a列表賦值給b---->
",b)
print("
直接淺拷貝a列表給c---->
",c)
print("
直接淺拷貝a列表給d---->
",d)
print("
直接深拷貝a列表給e---->
",e)
執行結果如下:起始列表a------------> [21, 22, 23, 24, ['a', 'b', 'c', 'd', 66], 25, 26, 99]
直接把a列表賦值給b----> [21, 22, 23, 24, ['a', 'b', 'c', 'd', 66], 25, 26, 99]
直接淺拷貝a列表給c----> [21, 22, 23, 24, ['a', 'b', 'c', 'd', 66], 25, 26]
直接淺拷貝a列表給d----> [21, 22, 23, 24, ['a', 'b', 'c', 'd', 66], 25, 26]
直接深拷貝a列表給e----> [21, 22, 23, 24, ['a', 'b', 'c', 'd'], 25, 26]
通過以上的例子我們來分析一下這幾種複製列表的不同1、直接賦值,其實就是預設淺拷貝傳遞物件的引用而已,原始列表改變,被賦值的b也會做相同的改變
2、淺拷貝,沒有拷貝子物件,所以原始資料改變,子物件也會改變
3、深拷貝,包含物件裡面的子物件的拷貝,所以原始物件的改變不會造成深拷貝裡任何子元素的改變
掰扯一下補碼2
上一次我們了解了補數,縮減基數補數以及其實現減法的原理。想要了解計算機是如何用加法運算來代替減法運算的。還需要繼續往下了解一下負數在計算機中是如何表示的。上一次介紹的用補數實現減法運算的第二種方法,存在當y大於x時,結果是錯誤的問題,例如123 456 123 543 1 667。這顯然不對。要解決...
複習一下 列表
列表的內建方法 l l.insert 0,88 在0這個位置上插入88值 l.l.extend x,y 把乙個列表中的多個值放進去 l 列表 l.remove 值 l.pop 索引 刪除索引位置的值 l.claer 列表清空 del lst 1 3 l.pop 刪除最後乙個數 lst.sort 排序...
python列表的複製
熟悉python的朋友都知道,與其說在python中給變數賦值,倒不如說是給值貼標籤。為什麼這麼說,因為當我使用諸如 a b 這種操作時,python並沒有為把b的複製給a,而是把a這個標籤貼在了b標籤貼在的變數上。那麼當我有乙個列表,我想修改它並產生乙個副本但是卻不改變原來的列表的時候,就必須去複...