를 사용하는 사전 산세 :나는이 사전에 의해 정의 defaultdict
f = open('dict.txt', 'wb')
pickle.dump(Nwords, f)
: 나중에 길을 따라
def train(features):
model = collections.defaultdict(lambda: 1)
for f in features:
model[f] += 1
return model
을, 나는 텍스트 파일로 사전을 피클을 사용하고 덤프 할 그러나 코드가 작동하지 않고 오류가 발생합니다. 분명히 pickle
은 lambda
과 작동 할 수 없으며 모듈 수준의 기능을 사용하여 model
을 정의하는 것이 좋습니다. 이미 답변을 읽었습니다. here
불행히도 저는 파이썬에 대해 경험이 없으므로 어떻게 해야할지 잘 모르겠습니다. 나는 시도 : 나는 그것이 1. 어떤 아이디어를 지정하려는 반면,
이TypeError: unsupported operand type(s) for +=: 'collections.defaultdict' and 'int'
다른 것보다, return defaultdict(int)
항상 키의 첫 번째 항목에 0을 할당합니다 :
def dd():
return defaultdict(int)
def train(features):
## model = defaultdict(lambda: 1)
model = defaultdict(dd)
for f in features:
model[f] += 1
return model
내가 오류가 나타납니다 어떻게 고칠 수 있니?