检查字母是否在二维列表中

时间:2012-03-20 06:42:46

标签: python list integer indices

我创建了一个列表,其中包含带有二维列表中相关单词的abecedary。 但当我试图找到列表中包含的单词并打印相关单词时,它会引发我的注意:

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)

2 个答案:

答案 0 :(得分: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])

答案 1 :(得分:0)

类型错误在这里

 if x in abc[0][i]:

i将成为一个列表,第一个传递i将为['a','EB'],第二个传递i将为['b','F8']

使用其他列表索引某些内容没有意义,您可能认为i是索引,但在python中,for循环将循环遍历值。