2017-07-28 46 views
0

名单读下面有一个简单的例子: -定义功能,从列表

setup = [['dog','red','big','ears'], 
     ['cat','blue','small','tail']] 

def do_it(dummy_parameter): 

     if do_it [0][0] == 'dog': 
     print 'dog' 
     elif do_it [0][0] == 'cat' 
     print 'cat' 


do_it(setup) 

基本上看要经过多达四个列表的列表,制定行动取决于每个列表中的内容。它有点模糊,但任何援助将不胜感激! :)

获取错误

TypeError: 'function' object has no attribute '__getitem__' 
+3

你应该使用的值:) 递归:)'如果dummy_parameter [0] [0] =='狗'... ...为什么你使用函数名? –

+0

我该如何停止可变数量的列表迭代?即。停止错误: - IndexError:列表索引超出范围 –

回答

0

下面是一个例子,如何让所有从列表清单,清单

test = [['a', 'b', 'c'],['d', 'e'], 'f'] 


def separate(item): 
    try: 

     for i in item: 
      if type(i) == list: 
       separate(i) 

      else: 
       print(i) 
    except IndexError: 
     pass 


separate(test) 
+0

非常感谢,这是非常有益的! –

+0

我现在有一大堆代码..我现在得到错误: - IndexError:列表索引超出范围 - 寻找解决方法。这些列表的大小会有所不同。 –

+0

尝试使用简单的try/except语句查看代码我添加了它 –