간단한 예제가 있습니다. 함수 test_list_change은 전달 된 목록을 매개 변수로 변경해야합니다. 그리고이 함수 안에는 서브 루틴 test_list_change_2 같은 목록을 변경해야하는 호출이 있습니다.python : 서브 루틴의 목록 값 변경
문제는, 결과리스트가 될 수있는 이유는 test_list_change_2 서브 루틴
에 의한 변경을 포함하지 않습니다? 여기
의 예이다def test_list_change(lst):
if len(lst) < 3:
lst.append("the last one")
test_list_change_2(lst)
def test_list_change_2(lst):
lst = ["the very last one"]
string_list = ["first", "another one"]
test_list_change(string_list)
print (string_list)
출력 :
[ '마지막', '다른 하나'제 ']
그냥'return [ "가장 마지막 것"]'이 함수에서 무엇을하려고했는지와 같지만 코드가 예상 한 것을 수행 할 것이라고 생각하지 않습니다. –