我有两个嵌套列表(列表列表)和一个嵌套的True/False(模式)列表,我想用它们从两个输入列表中选择项目创建最终名单。从两个嵌套列表中选择并使用Python模式选择
inputListTrue = [[1,1,1],[2,2,2],[3,3,3]]
inputListFalse = [[a,a,a],[b,b,b],[c,c,c]]
pattern = [[True, False, True],[True, True, True],[False, False, True]]
finalDesiredList = [[1,a,1],[2,2,2],[c,c,3]]
什么是创建一个定义,将在嵌套列表中的任何深度合作的最有效方式.... [[[],[]],[]]
等等。我一直在寻找的东西,不像我只是迭代的最初的想法真的很灵活:
for i, j, k in zip(pattern, inputListTrue , inputListFalse):
for l,m,n in zip(i,j,k):
if l:
finalDesiredList .append(m)
else:
finalDesiredList .append(n)
这只适用于列表列表,不适用于列表列表等。想法?
也许[ ''filter()''](https://docs.python.org/2/library/functions.html#filter)会有所帮助。 – pzp
列表中的元素是否始终相等? – Kasramvd
我不明白你对'任何嵌套列表的深度'的要求。你能举一个完整的例子吗?也许[扁平列表](http://stackoverflow.com/questions/952914/making-a-flat-list-out-of-list-of-lists-in-python)是可以看的东西。 – Marein