Python:パラメータとしてリスト
簡単に3つの状況を見てみましょう.
出力結果:
[5, 2, 3] [1, 2, 3] []
1つ目は、リストがmutableなので変更できます.2つ目はchangeList 1関数に[]オブジェクトを新しく作成し、lと名前を付けるだけです.関数でリストに実用的な役割を果たすにはchangeList 2のようにしなければなりません.
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のようにしなければなりません.