刚学python,请问这段分词代码是哪里出错了呢?
import jieba
txt = open("threekingdoms.txt","r",encoding="utf-8").read()
words = jieba.lcut(txt)
counts={}
for word in words:
if len(word) == 1:
continue
else:
counts[word]=counts.get(word,0)+1
items = list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range (15):
word,count = items[i]
print("{0:<10}{1:>5}".format(word,count))
运行后系统给的提示是:
File "C:\Users\ASUS\Desktop\python\jieba分词\Calthea.py", line 14, in <module>
word,count = items[i]
IndexError: list index out of range
IndexError: list index out of range
数组越界异常。
import jieba
txt = open("threekingdoms.txt","r",encoding="utf-8").read()
words = jieba.lcut(txt)
counts={}
for word in words:
if len(word) == 1:
continue
else:
counts[word]=counts.get(word,0)+1
items = list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range (len(items)):
word,count = items[i]
print("{0:<10}{1:>5}".format(word,count))
你定义的数组items,长度不足15