2015-11-01 85 views
0

不知道为什么我索引超出范围错误。Python索引超出范围错误

功能应该循环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 
+0

您对此有何看法? – TigerhawkT3

+0

当它崩溃时,我和j的值是什么? – AndreiM

+1

'levent = len(event)-1'呢?如果你这样做,那么输出将是'{'生日场地':1,'派对':2,'婴儿洗澡':2,'公司':1,'婚礼':3}'。 –

回答

2

它崩溃,因为你考我是否更新前勒比小。请尝试以下操作:

i += 1 
    if i >= levent: 
     break 
+0

完美作品,谢谢:) – reet