以下是我的代码的一部分: -
words_custom=[]
sentence_list=[]
pos_tags=[]
words_posscore={}
words_neg={}
words_pos={}
func_words=[]
def init():
global words_posscore
global words_neg
global words_pos
global func_words
words_posscore={}
with open('words_posscore.csv','r',encoding='utf-8') as f:
reader=csv.reader(f)
for row in reader:
print(type(row))
print(row)
words_posscore[row[0]]=float[row[1]]
with open('negative_words.csv','r',encoding='utf-8') as f:
reader=csv.reader(f)
for row in reader:
words_neg[row[0]]=1
words_pos={}
with open('positive_words.csv','r',encoding='utf-8') as f:
reader=csv.reader(f)
for row in reader:
words_pos[row[0]]=1
with open('Feature/func_words.csv','r',encoding='utf-8') as f:
reader=csv.reader(f)
for row in reader:
func_words.append(row[0])
我收到以下错误: -
Traceback (most recent call last):
File "train.py", line 586, in <module>
init()
File "train.py", line 120, in init
words_posscore[row[0]]=float[row[1]]
TypeError: 'type' object is not subscriptable
虽然我使用words_posscore作为字典并已初始化它,但我不知道为什么它将它视为类型对象而不是字典。
我已经阅读了以下问题的答案: -
TypeError: 'type' object is not subscriptable when indexing in to a dictionary
答案 0 :(得分:2)
一般建议:当这样的一行导致您遇到麻烦时,请将其分解成碎片,以查看哪一段代码确实导致了问题。
words_posscore[row[0]]=float[row[1]]
^^
你的问题就在那里,因为你试图将float(一种类型)用作字典。要解决此问题,请将行更改为:
words_posscore[row[0]]=float(row[1])
至于我之前的建议,你可以看到,如果你将线分成两行:
value = float[row[1]]
words_posscore[row[0]] = value
你可能已经注意到你的错误更容易了:))
答案 1 :(得分:0)
错误不是来自使用words_posscore
作为字典;它来自使用float
作为字典。显然,它是一种类型,而不是一种字典。
你可能意味着:
words_posscore[row[0]]=float(row[1])
注意,您的init
函数绝对没有,应该删除。此外,还不清楚为什么要定义words_posscore
和words_pos
两次。
答案 2 :(得分:0)
行错误:$(document).ready(function() {
$("#property_year_built").change(function() {
$("#bouwjaar_field").val($('#property_year_built').val());
});
});
$(document).ready(function() {
$("#property_zip").change(function() {
$("#postcode_field").val($('#property_zip').val());
});
});
$(document).ready(function() {
$("#property_price").change(function() {
$("#koopprijs_field").val($('#property_price').val());
});
});
它应该是:
words_posscore[row[0]]=float[row[1]]
尝试:words_posscore[row[0]] = float(row[1])
您将收到同样的错误:
float['123']
关于你的问题:
虽然我使用words_posscore作为字典而且有 初始化它,我不知道为什么它认为它是一个类型对象 而不是字典。
错误消息是针对作业的RHS(右侧)而不是---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-bc6c2694ccfa> in <module>()
----> 1 float['123']
TypeError: 'type' object is not subscriptable
处的LHS。
因此python不认为它是一个类型对象而不是dict。
希望澄清它:)