0
def most_popular_guests(file_in):
f=file(file_in,'r')
listoflines=f.readlines()
D={}
dict={}
title=''
for lines in listoflines:
if (lines.isupper()):
title=lines
else:
lines=lines.split(":")
names=(lines[1]).split(",")
for name in names:
if D.has_key(name):
D[name].append(Show_Appearance(title,lines[0]))
else:
D[name]=[Show_Appearance(title,lines[0])]
break
dict=longest(D)
def longest(D):
max=0
d={}
for name in D.keys():
value = D[name]
if max<len(value):
max=len(value)
for keys in D.keys:
value=D[keys]
if len(value)==max:
d[key]=value
return d
我想找到一個字典,以最頻繁出現的人爲關鍵字,並將該人的顯示列表作爲值。保持這個列表索引超出範圍錯誤。如何避免列表索引超出範圍
錯誤來自'names =(lines [1])。split(「,」)'line?這意味着有一行沒有':'的行,所以'lines.split(「:」)'的長度爲1. – Dougal
不知道輸入文件的內容,很難找到確切的位置出錯。你能提供一個樣本輸入和終端中的錯誤跟蹤嗎? – nye17
請勿像'dict = {}那樣命名變量'dict'因爲每個字符串都是不可變的,所以不需要設置'title =''',因此您不會追加它。 –