私はbigramsとunigramsを扱っています。Pythonでリスト内の要素にアクセスできない
私のバイグラムはタプルのカウンタであり、私のユニグラムは私がfollwing
for b,countB in bigrams.most_common()
key=b[0] # this is guaranteed to be a key for my unigrams
uniCount=uni[key]
を実行しようとしてい
uni['some key']=count
リスト、次のエラーが発生している:
TypeError: tuple indeces must be integers or slices, not str
を
私は混乱しています。なぜこれが問題であるべきですか? uniは基本的にハッシュですが、そのキー値は文字列です。どのように私は[鍵]にアクセスできますか?
編集:完全なコード
# corpus is a string containing my corpus
sp=corpus.split()
uni={}
for t in sp:
try:
uni[t]+=1
except:
uni[t]=0
prev=''
big=[]
for t in sp:
tup=(prev,t)
big.append(tup)
prev=t
bigrams=collections.Counter(big)
for b,countB in bigrams.most_common():
key=b[0]
uniCount=uni[key]
あなたは 'プリントを( "{}" を実行したときに何を得るのですか)形式(キー。 ) '' key = b [0] 'の直後ですか? – Samundra
もっとコードが必要です。エラーによると、 'uni'は' dict'と主張している間に 'tuple'です。 – tzaman
実際、 "私のunigramsはリストです"という文は、uni ['some key'] = count'の例と衝突します。リストはそのように索引付けすることもできません。 – jez