在將列表作為引數傳遞給函式的時候,實際上是傳遞的引用。
def
ref(someparameter):99
)singers =
['阪井泉水'
,'泰勒斯威夫特'
,'阿黛爾'
]ref(singers)
print
(singers)
##############################
結果:[
'阪井泉水'
,'泰勒斯威夫特'
,'阿黛爾',99
]
同時,將列表賦給乙個變數時,實際上是將列表的引用付給了該變數。
spam =
['a'
,'b'
,'c'
,'d'
]cheese = spam
cheese[0]
=65print
('cheese : '
, cheese)
print
('spam : '
, spam)
###############################
結果:cheese :[65
,'b'
,'c'
,'d'
]spam :[65
,'b'
,'c'
,'d'
]
如果在使用的時候,不希望改動原來的列表(or字典),使用copy模組中的copy()函式即可。
import copy
spam =
['a'
,'b'
,'c'
,'d'
]cheese = copy.copy(spam)
cheese[0]
=65print
('cheese : '
, cheese)
print
('spam : '
, spam)
##############################
結果:cheese :[65
,'b'
,'c'
,'d'
]spam :
['a'
,'b'
,'c'
,'d'
]
Python 列表 字典作為函式的引數
這篇筆記主要記錄,列表作為函式引數傳遞時的深淺拷貝問題 usr bin env python coding utf 8 這篇筆記主要記錄,列表作為函式引數傳遞時的深淺拷貝問題 import copy def l def l defprint all list a b c log print log ...
python中不要將列表作為函式引數預設值
def findpath result print result findpath findpath findpath 輸入結果如下 1 1,1 1,1,1 正確的寫法為 def findpath result print result findpath findpath findpath 輸出結果...
python中用列表作為佇列
佇列有 先進先出 的,這樣沒刪除或者是鄭加乙個元素,這樣就需要對原列表進行移動,這樣效率會比較低,就引入 collections.deque這樣可以提高效率 from collections import deque queue deque eric john michael print queue...