Python:パラメータとしてリスト

1181 ワード

簡単に3つの状況を見てみましょう.
def changeList(l):
    l[0] = 5 

def changeList1(l):
    l = []

def changeList2(l):
    l[:] = []


a = [1,2,3]
changeList(a)
print(a)
b = [1,2,3]
changeList1(b)
print(b)
c = [1,2,3]
changeList2(c)
print(c)

出力結果:
[5, 2, 3] [1, 2, 3] []
1つ目は、リストがmutableなので変更できます.2つ目はchangeList 1関数に[]オブジェクトを新しく作成し、lと名前を付けるだけです.関数でリストに実用的な役割を果たすにはchangeList 2のようにしなければなりません.