在寫楊輝三角時,希望將乙個列表直接賦值給另乙個列表,就嘗試寫了一下。
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...