递归列表

时间:2010-03-16 20:57:18

标签: python recursion

我正在尝试使用Python递归列表(例如[True,[[True,False],[False,[False,True]]])。我知道列表长度总是2,两个值都是布尔值。我想取这些值并将它们替换回列表,直到只剩下2个值(或1个布尔值)。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

你还没有说过如何将这两个部分结合起来,所以我假设or但你可以使用另一个函数。

l = [True, [[True, False], [False, [False, True]]]]

def foo(x):
    if isinstance(x, list):
        return foo(x[0]) or foo(x[1])
    else:
        return x

print foo(l)

答案 1 :(得分:0)

说您的列表是l

def print_list(list):
   t = type(list())
   for item in list:
      if type(item) is t:
         print_list(item)
      else:
         print item
 print_list(l)

像这样简单的东西会打印列表中的每个项目。