前提・実現したいこと
プログラミング初心者なのですがpythonで文章の名詞と動詞を種類ごとに辞書に格納していきその数を数え、それをpickleに保存していくソースコートを作りたいです。
TypeError: list indices must be integers or slices, not tuple
というエラーが発生してしまいます。
どうしたら、このエラーが出ずに正常にコードを動かすことができるでしょうか?
発生している問題・エラーメッセージ
File "/Applications/MAMP/卒業研究/データ収集プログラム.py", line 38, in <module> mydict[token.surface,token.feature] += 1 TypeError: list indices must be integers or slices, not tuple
該当のソースコード
python
1#!/usr/bin/python 2# -*- coding: utf-8 -*- 3 4import CaboCha 5import pprint 6import pickle 7 8# c = CaboCha.Parser(""); 9c = CaboCha.Parser("") 10 11mydict = {} 12 13pickle_in = open('/Users/k16095kk/mydict.pickle','rb') 14mydict = pickle.load(pickle_in) 15 16 17sentence = "帽子を返す 帽子を返す 帽子を返す" 18 19#print c.parseToString(sentence) 20 21#tree = c.parse(sentence) 22# 23tree = c.parse(sentence) 24 25for i in range(tree.token_size()): 26 token = tree.token(i) 27 print (' Normalized:', token.normalized_surface) 28 print (' Feature:', token.feature) 29 if ('動詞') in token.feature: 30 if (token.surface, token.feature) not in mydict: 31 mydict[token.surface,token.feature] = 1 32 else: 33 mydict[token.surface,token.feature] += 1 34 if ('名詞') in token.feature: 35 if (token.surface, token.feature) not in mydict: 36 mydict[token.surface,token.feature] = 1 37 else: 38 mydict[token.surface,token.feature] += 1 39 pickle_out = open('/Users/k16095kk/mydict.pickle','wb') 40 pickle.dump(mydict, pickle_out) 41 pprint.pprint(mydict) 42 pickle_out.close() 43 print () 44
試したこと
調べてみてもなにを試したらいいかわからなかったのでなにも試せてないです
補足情報(FW/ツールのバージョンなど)
mecab
Cabocha
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/20 04:34
2019/11/20 12:17
2019/11/21 02:14
2019/11/21 02:41
2019/11/21 04:19
2019/11/21 06:43
2019/11/28 03:08