代碼中使用字符串作為列表索引:
tfidf[corterm] # corterm 是字符串,如 "123"
Python 列表**只接受整數索引**,字符串會拋出 TypeError。
tfidf[int(corterm)]
前提:corterm 確實是純數字字符串(如 "0"、"42")。tfidf_dict = {str(i): v for i, v in enumerate(tfidf_list)}
# 後續使用 tfidf_dict[corterm]
corterm 為何為字符串(JSON 解析、CSV 讀取常產生字符串數字),在讀取階段轉型更乾淨。print(type(corterm), corterm) # 確認類型與值
print(isinstance(corterm, str) and corterm.isdigit()) # 判斷是否純數字串
列表索引必須是整數。遇到此錯誤,直接 int() 轉換或改用字典結構。養成「邊界轉型」習慣:數據進入業務邏輯前統一轉為預期類型。