在找到我之前问题的替代解决方案后,我遇到了一个新问题。我问我的老师,他建议我用这种格式的dict(zip)。
final={}
rawLines=open("x.txt").readlines()
y=0
while y <5:
for line in rawLines:
userlist=rawLines[y].split(',')
userid=userlist[0]
avmph=userlist[1]
print(avmph)
#print(userid)
for lines in rawLines[0:]:
lines=lines[:-1]
items=lines.split(',')
final[items[0]]=dict(zip(userid,avmph))
y=y+1
else:
sorted[avmph()]
print(avmph)
print(userid)
我正在使用line获得索引范围错误。错误消息
Traceback (most recent call last):
File "C:\Users\Ryan\Desktop\test.py", line 6, in <module>
userlist=rawLines[y].split(',')
IndexError: list index out of range
我使用了.csv文件样式的.txt文件,它允许我创建列表。我最终需要对每小时的平均英里数进行排序并将用户ID返回。我的主要问题似乎在于&#39; y&#39;变量和我的while循环 (链接到我的.txt文件的屏幕截图)http://gyazo.com/ac8f734b9bb625398de6412191a64981
答案 0 :(得分:1)
如果你写
y=0
while y < 5: print(y); y+=1
然后输出将是:
0
1
2
3
4
&安培;你的文件只包含 4 行。 rawlines [y] ,其中 y = 4 尝试访问文件的第五行。这给出了这个错误。用替换第四行,而y&lt; 4 来解决它。