2016-07-25 18 views

Antwort

2

Wenn Sie einen list iterieren, erhalten Sie Werte, nicht Indizes. Wenn Sie Indizes möchten, verwenden Sie range:

for i in range(len(v_actions)): 
    ... 

Wenn Sie Indizes und Werte möchten, verwenden Sie enumerate:

for i, value in enumerate(v_actions): 
    ... 

Wie es aussieht, können Sie versuchen, sind Listenelemente für den Zugriff auf Strings, die in der enthalten sind Liste als Index

1

ersetzen nur die letzte Zeile mit:

q_values_table[ i, j, k, l, m ] = None

0

Sie können auch verwenden Bereich (len (lst)) auf knapp über die Indizes der Liste iterieren:

q_values_table = {} 
light = ['red', 'green'] 
v_actions = ['None','forward','left','right'] 
for i in range(len(v_actions)): 
    for j in range(len(light)): 
     for k in range(len(v_actions)): 
      for l in range(len(v_actions)): 
       for m in range(len(v_actions)): 
        q_values_table[v_actions[i],light[j],v_actions[k],v_actions[l],v_actions[m]] = None 

print q_values_table 

Dies ist etwas ausführlicher als die anderen vorgestellten Optionen, scheint aber das zu sein, was Sie vorhatten: iterieren Sie über die Indizes einer Liste.

Verwandte Themen