python中將乙個列表賦值給另乙個列表

2021-10-25 00:16:33 字數 1800 閱讀 2410

在寫楊輝三角時,希望將乙個列表直接賦值給另乙個列表,就嘗試寫了一下。

list1 =

['1'

,'2'

,'3'

]list2 = list1

print

(list1)

print

(list2)

執行結果

[

'1',

'2',

'3']

['1'

,'2'

,'3'

]

通過結果發現,可以直接賦值,但在查資料的過程中發現,一旦改變list1的值,list2的值也會隨之發生改變。

list1 =

['1'

,'2'

,'3'

]list2 = list1

print

(list1)

print

(list2)

'4')

#在list1中增加乙個值

print

(list1)

print

(list2)

執行結果

[

'1',

'2',

'3']

['1'

,'2'

,'3'][

'1',

'2',

'3',

'4']

['1'

,'2'

,'3'

,'4'

]

如果改變list2中的值,也會出現相同的情況

list1 =

['1'

,'2'

,'3'

]list2 = list1

print

(list1)

print

(list2)

'5')

#在list2中增加乙個值

print

(list1)

print

(list2)

執行結果

[

'1',

'2',

'3']

['1'

,'2'

,'3'][

'1',

'2',

'3',

'5']

['1'

,'2'

,'3'

,'5'

]

為了解決這個問題,可以直接將list1中的值賦給list2,而不是將列表直接賦值過去

list1 =

['1'

,'2'

,'3'

]list2 = list1[:]

print

(list1)

print

(list2)

'5')

print

(list1)

print

(list2)

執行結果

[

'1',

'2',

'3']

['1'

,'2'

,'3'][

'1',

'2',

'3',

'5']

['1'

,'2'

,'3'

]

這樣不管改變哪個列表的值,另乙個列表都不會發生變化。

shell 指令碼中將輸出內容賦值給乙個變數時不換行

如題,將某命令的輸出結果賦值給乙個變數 a 如果使用 echo a 輸出變數,則變數中的 換行都會被忽略掉,所有內容輸出到一行 而使用 echo a 可正常輸出變數中的換行 當我們要將命令的輸出儲存到乙個變數,再對每一行遍歷進行某些操作時不能使用 html view plain copy for i...

C 中將乙個引用賦值null的作用

有類a,以及a型別的變數a和b。初始化a之後,將a賦給b。之後將a賦為null。之後b還是可以使用。思維誤區 本來以為a null之後,b也應該等於null。實際測試效果如下 class program a b a if b.equals a else a.data good morning a n...

Python中將字典加入列表引出的乙個疑問

dict在python裡是object,不屬於primitive type 即int float string none bool 這意味著你一般操控的是乙個指向object 物件 的指標,而非object本身,所以dict的id不會變化。同時,dict的兩種賦值方式,也對dict的id產生影響 d...