2012-03-20 52 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循环将循环代替。

相关问题