2
私は、次のような方法があります:スライスリスト(Pythonの3)
def slice_list(my_list, slice_point):
my_list = my_list[:slice_point]
print("Inside method: ", my_list)
return
私は次のようにそれのためのテストを持っている:
if __name__ == "__main__":
my_list = [1,2,3,4,5]
slice_point = 3
slice_list(my_list, slice_point)
print("Outside method: ", my_list)
私が手出力ではありません私は、リストが最終的に
>>>Inside method: [1, 2, 3]
>>>Outside method: [1, 2, 3, 4, 5]
を編集していないという意味で、ために期待される。しかし、私はリストにappend
を行う際に、I tがこの例が示すように、良いのためのリストを編集します:
def append_to_list(my_list, element):
my_list.append(element)
print("Inside method: ", my_list)
return
if __name__ == "__main__":
my_list = [1,2,3,4,5]
append_to_list(my_list, "new element")
print("Outside method: ", my_list)
:
>>>Inside method: [1, 2, 3, 4, 5, 'new element']
>>>Outside method: [1, 2, 3, 4, 5, 'new element']
なぜスライスが良いためのリストを変更しませんか?
ローカル変数とグローバル変数について読んでください。グローバルとして指定されていない限り、関数内で作成または再割り当てされた変数はすべてローカルとみなされます。しかし、追加は再割り当てされません。 – Julien
また、関数ではありませんメソッドです。 –