2012-03-20 44 views
0

我已經創建了一個列表,其中包含與二維列表中的相關單詞相關的單詞。 但是當我試圖找到列表中包含的一個詞,並打印相關的話,它拋出我:檢查一個字母是否在二維列表中

TypeError: list indices must be integers, not list

這裏是我的代碼:

import parallel 
import time 
import string 

abc=[['a','EB'], ['b','F8']] 

print ("Write something: ") 
text = raw_input() 
lent=len(text) 
print (lent) 
p=parallel.Parallel() 
text1=list(text) 

for x in text1: 
print (x) 
    i=0 
for i in abc: 
    if x in abc[0][i]: 
      print(abc[0][i]) 
     p.setData(int('0x'+abc[0][i],16)) 

time.sleep(0.5) 

回答

1
>>> abc = [['a','EB'],['b','F8']] 
>>> for i in abc: 
... print i 
... 
['a', 'EB'] 
['b', 'F8'] 

所以,你可能需要這樣:

for i in abc: 
    if x == i[0]: 
      print(i[1]) 
+0

所以這就是爲什麼。我的謝謝先生, – aerojun 2012-03-20 06:59:12

0

類型的錯誤是在這裏

if x in abc[0][i]: 

i將是一個列表,第一遍i['a','EB']和第二遍i['b','F8']

這是沒有意義的東西指數與另一個列表,你可能認爲i是指數,但在python通過數值for循環將循環代替。

相關問題