이 질문은 이전에 답변을 받았지만 답변을 받았지만 반복 호출 후 데이터 손실을 피하기 위해 내 방법을 조정하는 데 문제가 있습니다.데이터 손실 호출 방법 반복
내 방법
[['ACCOUNT', 'VALUE1', 'VALUE2'],
['Account1', '3.43', '2.5'],
['Account2', '1,235.67', '8.98']]
self.accounts 제가
'무엇return [item[0] for item in self.container
의해 정의된다 :
def getColumn(self, name):
index_num = self.headers.index(str(name))
columns = [item[index_num] for item in self.container]
acco = self.accounts
del acco[0]
del columns[0]
columns = [item.replace(',', '') for item in columns]
return dict(zip(acco, columns))
self.container는 다음 형태를 갖는 헤더를 갖는 배열 내가하려고하는 것은 머리글 이름 중 하나와 일치하는 문자열을 전달하여 사전에 계정과 값을 압축하는 것입니다. 이 메서드는 헤더에서 인덱스를 조회 한 다음 값 열을 제거하고 헤더를 삭제하려고 시도합니다.
이 메서드를 호출 할 때마다 각 호출마다 길이가 1 씩 감소하는 사전이 생성됩니다. 'VALUE1'을 (를) 전달하면 길이는 26입니다. 'VALUE2'를 전달하면 그 길이는 25입니다.
누구나 메서드 호출에 대한 데이터 손실없이이 작업을 수행 할 수있는 방법을 제안 할 수 있습니까?
'VALUE1', 'VALUE2'를 통과 한 다음 'VALUE1'을 다시하면 어떻게됩니까? –
이를 수행하는 방법은 여러 가지가 있습니다. 예를 들어 다음 변수의 인덱스를 나타내는 상태 변수 (예 : self.next)는 유지하십시오. 그러나 이것은 매우 나쁜 수업 디자인처럼 보입니다. 수업을 준비하는 더 좋은 방법이 없다고 확신합니까? –
계속해서 가치를 상실합니다. 'VALUE1'을 다시 전달하면 길이가 24로 줄어 듭니다. – donopj2