鱼C论坛

 找回密码
 立即注册
查看: 1911|回复: 5

关于列表索引值超出范围的问题

[复制链接]
发表于 2020-3-6 16:04:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Dave111 于 2020-3-6 16:07 编辑

用split()函数对一个情感词典分割后返回列表senList,再创建字典senDict时总是报错说IndexError: list index out of range
但是分别print列表senList的0和1位置都可输出,不知道原因在哪,求大佬相助(相关截图见下面)
  1. #读取 filename路径的每一行数据,存在data这个列表中并返回
  2. def readLines2(filename):
  3.     fopen = open(filename,encoding='utf-8',errors='ignore')
  4.     data=[]
  5.     for x in fopen.readlines():
  6.         if x.strip() != ' ':
  7.             data.append(x.strip())
  8.     fopen.close()
  9.     return data
  10. #主要为情感定位
  11. def words():
  12.     #情感词
  13.     senList = readLines2('BosonNLP_sentiment_score.txt')
  14.     print(len(senList))
  15.     senDict = defaultdict()
  16.     for s in senList:
  17.         #print(s.split(" ",1)[0])
  18.         #print(s.split(" ",1)[1])
  19.         senDict[s.split(" ",1)[0]] = s.split(" ",1)[1]
  20.     #否定词
  21.     notList = readLines2('notDict.txt')
  22.     #程度副词
  23.     degreeList = readLines3('degreeDict.txt')
  24.     degreeDict = defaultdict()
  25.     for d in degreeList:
  26.         degreeDict[d.split(' ')[0]] = d.split(' ')[1]
  27.     return senDict,notList,degreeDict
复制代码

4.png
3.png
2.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-6 16:06:19 | 显示全部楼层
别发截图,发代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 16:13:05 | 显示全部楼层
qiuyouzhi 发表于 2020-3-6 16:06
别发截图,发代码

代码他不是发了吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-6 16:15:26 | 显示全部楼层
qiuyouzhi 发表于 2020-3-6 16:06
别发截图,发代码

全篇的代码要看吗,有点儿多,我只截了这两个有关系的函数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-6 16:17:25 | 显示全部楼层
一个账号 发表于 2020-3-6 16:13
代码他不是发了吗

刚才没有过审核。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-5 20:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表