2014-04-22 2 views
0

그래서 파이썬 프로젝트에서 "lst"리스트가 제대로 초기화되지 않았습니다. 목록을 초기화하고 값을 목록에 추가 한 다음 주 프로그램에서 목록을 다시 사용할 수있는 메서드를 실행할 수 있어야합니다. 그러나 주 프로그램에 돌아 왔을 때 목록은 비어있게됩니다.함수에서 파이썬리스트 읽기

내가 잘못하고있는 것을 말해 줄 수 있습니까?

lst = [ ] 

def readList(infile, lst): 
    for line in infile: 
     lst = line.strip().split() 
    print(lst) 

file_name = input("Input File Name: ") 

file = open(file_name) 

readList(file, lst) 

print(lst) 

감사합니다!

답변

2

함수 doesn't mutatelst, it rebinds it. 함수가 종료되면 바운드 값이 손실되므로 아무 것도 얻지 못합니다.

lst.append(line.strip().split()) 
+0

아, 그게 내가 잘못한 것입니다. 감사! 지금은 바보 같은 질문입니다 ... 목록의 목록을 만들고 있습니다. 이중 목록을 제거하려면 어떻게해야합니까? – user3558605

+0

[추가하는 대신 확장하십시오.] (https://docs.python.org/2/library/stdtypes.html#mutable-sequence-types) –