2017-04-06 9 views
1

空の辞書をリストl2のキーで更新することはできません。リスト内の同じインデックス位置のリストl1の値は、 。 IndexErrorが何度も繰り返されています。IndexError:空のpython辞書を更新するときに範囲外のエラーが表示される

l1=[56,87,12,32] 

l2=['a','gf','lk','po',56] 
dict={} 

print "length of l2 is",len(l2) 

print "items",dict.items() 

for i in range(len(l2)): 

    if l2[i] in (dict.keys()): 

     print 'key is present ' 

    else: 

     print 'key ' ,l2[i],' not present' 

     dict[l2[i]]=l1[i] 

print dict 
+0

を別にしてください:pythonの 'built-in'データ型を変数名として使用しないでください:' dict'と[dict] //docs.python.org/2.7/tutorial/datastructures.html#dictionaries) – davedwards

答えて

0

ループ反復値のためのあなたの最後には、4(I = 4)であり、L1の最高インデックスは3です(リスト内の4つの項目、我々は0で、インデックスを開始)。だからあなたのforループがl1 [4]を実行するとき、l1のインデックスは3までしか上がらないので、範囲外のエラーが出ます。l1に余分な要素を追加するか、forループを変更する必要があります。

P.S.数値が1のように見えるので、変数の数値の隣に数字を使用しないようにしてください。

関連する問題