【发布时间】:2015-11-01 09:30:27
【问题描述】:
不知道为什么我的索引超出范围错误。
函数应该循环 ip 列表直到事件值结束:
event = ["Birthday-venues", "baby-shower", "wedding", "corp", "party"]
ip = [1, 2, 3]
lip = len(ip)
levent = len(event)
def eventIP():
i = 0
dict = {}
while i < levent:
for j in range(0, lip):
dict[event[i]] = ip[j]
if i < levent:
i += 1
else:
break
print(dict)
eventIP()
错误:
Traceback (most recent call last):
File "script.py", line 21, in <module>
eventIP()
File "script.py", line 13, in eventIP
dict[event[i]] = ip[j]
IndexError: list index out of range
【问题讨论】:
-
您希望这实际上会做什么?
-
崩溃时i和j的值是多少?
-
levent = len(event)-1怎么样?如果你这样做,那么输出将是{'Birthday-venues': 1, 'party': 2, 'baby-shower': 2, 'corp': 1, 'wedding': 3}。 -
看起来您正在尝试创建像
{'Birthday-venues':1, 'Birthday-venues':2, 'Birthday-venues':3, 'baby-shower':1...}这样的字典。是这样吗? -
不完全是,但我能够找到错误的解决方案,感谢您的帮助:)
标签: python loops debugging indexing