我有两个平行的嵌套列表。它们在长度和子长度上总是匹配的。例如:
_list1 = [[1,2,3],[1,2],[1,2,3,4]]
_list2 = [[a,b,c],[a,b],[a,b,c,d]]
现在上述结构无法保证。有可能我会得到一个平面列表,甚至更深的嵌套列表。为此,如果我想对我使用的列表中的每个元素应用一个定义列表.map递归如下:
def ProcessList(_func, _list):
return map( lambda x: ProcessList(_func, x) if type(x)==list else _func(x), _list )
这样我就可以对未指定的嵌套列表应用单个定义。我怎么能同时做两个列表呢?我想应用一个定义,它将从_list1
中获取一个元素,对于_list2
中匹配的元素,它将执行一个定义。例如:
def DoSomething(i,j);
return str(i) + str(j)
因此,如果我将这个定义应用于两个平行的列表,它将返回:
_newList = [[1a,2b,3c],[1a,2b],[1a,2b,3c,4d]]
同样,关键是能够对未指定列表和嵌套列表进行操作。你知道吗
你的意思是这样的:
相关问题 更多 >
编程相关推荐