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
에 단어를 추가하거나장 횟수를 증가시킵니다. 반환되는 값은 사전 형태이며, 모든 단어와 등장 횟수를 포함하고 있습니다. 따라서, 두 번째 함수가 올바른 코드입니다.