for in문 안에 item과 items()

안성현·2023년 6월 7일
0

def storeWordlistAsDictionary(self,givenList):
		givenList.sort() #메소드 작업시작 전 리스트를 작은 값부터 큰 값으로 나열되도록 정렬함
		for item in givenList.**items()**:
				if item in self.wordDictionary:
				self.wordDictionary[item] += 1
else:
		self.wordDictionary[item] = 1
		return self.wordDictionary

def storeWordlistAsDictionary(self,givenList):
		givenList.sort() #메소드 작업시작 전 리스트를 작은 값부터 큰 값으로 나열되도록 정렬함
		for item in givenList:
				if item in self.wordDictionary:
						self.wordDictionary[item] += 1
				else:
						self.wordDictionary[item] = 1
		 return self.wordDictionary

같은 코드인 것 같지만 첫번째코드는 item()메서드를 사용하였고 두번째는 추가하지 않고 item으로 받아오고 있습니다.

첫 번째 함수에서 for 루프는 givenList.items()에서 각 item을 가져옵니다. 하지만 이는 잘못된 사용입니다. items() 메서드는 사전(dictionary)에서 사용할 수 있으며, 아이템들을 (key, value) 튜플(tuble) 형태로합니다. 따라서, givenList가 사전(dictionary)이 아니기 때문에 for 루프에서 items() 메서드를 사용하는 것은 적절하지 않습니다.

두 번째 함수는 givenList에 대 for 루프가 정확하게 작동합니다. 리스트의 각 아이템에 대해서 반복합니다. 이 코드는 입력된 리스트를 작은 값부터 큰 값으로 나열하고, 리스트의 각 아이템(item)에 대해서 if 조건문을 사용하여 self.wordDictionary에 단어를 추가하거나장 횟수를 증가시킵니다. 반환되는 값은 사전 형태이며, 모든 단어와 등장 횟수를 포함하고 있습니다. 따라서, 두 번째 함수가 올바른 코드입니다.

profile
깊이 있는 배움을 가진 개발자 안성현입니다

0개의 댓글